问题描述
一切都在标题中!但是这里有更多细节。 我目前正在开发一个原理图,它将创建一个完整的角度项目,包括一个库。
我正在使用externalSchematic来做到这一点:
const rule: Rule = chain([
externalSchematic('@schematics/angular','ng-new',workspaceOptions),externalSchematic('@schematics/angular','library',libraryOptions),sourceParametrizedTemplates
]);
但是,当我尝试创建库时,出现错误消息:
消息: 错误:无法确定工作空间路径的格式。堆栈: 错误:无法确定工作空间路径的格式。 在Object.readWorkspace(C:\ Users \ XXXX \ Documents \ Dev \ FWK_INDUS \ sources \ Angular \ FWK.WEB.Schematics \ node_modules @ angular-devkit \ core \ src \ workspace \ core.js:84:15) 在异步Object.getWorkspace(C:\ Users \ XXXX \ Documents \ Dev \ FWK_INDUS \ sources \ Angular \ FWK.WEB.Schematics \ node_modules @ schematics \ angular \ utility \ workspace.js:51:27) 在异步C:\ Users \ XXXX \ Documents \ Dev \ FWK_INDUS \ sources \ Angular \ FWK.WEB.Schematics \ node_modules @ schematics \ angular \ library \ index.js:147:27
我假设我正在目录中创建一个新项目,并且当我尝试添加库时,我不在目录中,因此原理图无法找到有角度的工作空间。
所以我试图找到一种方法来指定刚刚创建的新项目的路径...
如果有人知道该怎么做...
谢谢!
解决方法
我遇到了同样的问题,就我而言,我是在调试模式下运行(使用“ schematics”命令),如果是这种情况,那么正在发生的事情是,“ project”参数的默认值不是传递给原理图程序后,当您从ng命令生成原理图时会自动解析此参数,因为ng命令是从angular.json文件本身获取的。
在我的情况下,快速解决方案是在调试(编码)时使用“ --path”参数来指定我要在何处应用原理图,因为参数“ path”比“项目”更可取可以。