如何在集成式Nx单体仓库工作区中生成Angular App Shell?
如何在Nx集成式单体仓库中生成Angular App Shell
可以在Nx集成式工作区中生成Angular App Shell,不过因为@nx/angular没有内置对应的生成器,没法像生成service那样自动转发请求到@schematics/angular,得用以下两种方式实现:
方式一:直接调用Angular官方schematics命令
如果你的工作区已经有一个Angular应用(比如项目名为my-app),直接执行:
ng generate app-shell --project=my-app
Nx会识别工作区的配置,自动把App Shell生成到指定项目中,同时更新项目的project.json,添加App Shell相关的build、serve等目标。
方式二:封装成Nx自定义目标(可选)
如果习惯统一用Nx命令执行操作,可以在目标项目的project.json中添加自定义目标:
{ "targets": { "generate-app-shell": { "executor": "nx:run-commands", "options": { "command": "ng generate app-shell --project=my-app" } } } }
之后执行以下命令就能生成App Shell:
nx run my-app:generate-app-shell
为什么和生成service的情况不同
对于service这类基础代码生成器,@nx/angular做了转发适配,当你执行nx g @nx/angular:service ...时,会自动把请求转发到@schematics/angular。但App Shell属于应用架构级的生成器,@nx/angular没有做对应的转发逻辑,所以不能直接用nx g @nx/angular:app-shell的形式调用。
生成完成后,你可以通过以下命令验证:
- 启动带App Shell的应用:
nx serve my-app --app-shell - 构建带App Shell的应用:
nx build my-app --app-shell
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

