当我尝试通过运行以下代码在我的 Angular 14.7.13 应用程序中创建新组件时:
/f/JS/apps/myapp/src/app/board (main)
$ npx nx generate @nrwl/angular:component board --project=myapp --style=scss --no-interactive --verbose
我收到以下错误:
Error: The path provided for the component (src/app/board) does not exist under the project root (). Please make sure to provide a path that exists under the project root.
at checkPathUnderProjectRoot (F:JSappsmyappnode_modules@nrwlangularsrcgeneratorscomponentcomponent.js:34:15)
at F:JSappsmyappnode_modules@nrwlangularsrcgeneratorscomponentcomponent.js:14:9
at Generator.next (<anonymous>)
at F:JSappsmyappnode_modulestslibtslib.js:118:75
at new Promise (<anonymous>)
at Object.__awaiter (F:JSappsmyappnode_modulestslibtslib.js:114:16)
at componentGenerator (F:JSappsmyappnode_modules@nrwlangularsrcgeneratorscomponentcomponent.js:11:20)
at Object.<anonymous> (F:JSappsmyappnode_modulesnxsrccommand-linegenerate.js:250:36)
at Generator.next (<anonymous>)
at fulfilled (F:JSappsmyappnode_modulestslibtslib.js:115:62)
我在我希望"板"组件所在的文件夹中。
如果我在项目根目录中运行它,即/f/js/apps/myapp/没有区别,因为我得到同样的错误。
根据此线程,这似乎是一个已知问题:https://github.com/nrwl/nx/issues/12042。请参阅评论:
在等待发布修补程序时,您仍可以通过指定 --project 标志以及将在其中生成组件的项目名称来生成组件。此修复在提供路径时删除了此要求。
但是我正在运行--project=myapp?
任何人都可以告诉我他们是否知道此问题的解决方法吗?
解决此问题的方法是在angular.json
中编辑 "root" 属性,该属性应放置在项目的根文件夹中。
将其行从
"root": "",
自
"root": "./src",
这将允许您在 src/应用程序文件夹中创建新的组件。