You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在含多入口点的Angular库中指定入口生成组件?

解决方案

你可以通过两种方式实现无需修改全局sourceRoot即可指定入口点生成组件:

方式1:单次生成时直接指定路径

执行生成命令时追加--path参数直接指定目标入口点的对应目录即可,示例如下:

# 示例:生成组件到common入口点的lib目录下
ng g component new-component --project ngx-eska-theme --path projects/ngx-eska-theme/common/src/lib

命令执行后组件会直接生成到你指定的路径下,不会受全局sourceRoot配置影响,适合临时生成少量文件的场景。

方式2:给每个入口点配置独立的子项目(推荐长期使用)

在angular.json的projects节点下,给每个入口点新增单独的项目配置:

// angular.json 示例配置
"projects": {
  "ngx-eska-theme": {
    // 原有主项目配置不变
  },
  // 新增common入口点的单独配置
  "ngx-eska-theme-common": {
    "root": "projects/ngx-eska-theme/common",
    "sourceRoot": "projects/ngx-eska-theme/common/src",
    "projectType": "library",
    "schematics": {},
    "architect": {}
  },
  // 其他入口点同理新增对应配置
}

后续需要给对应入口点生成文件时,直接指定对应的子项目名即可,不需要再手动写路径:

ng g component new-component --project ngx-eska-theme-common

这种方式配置一次即可长期使用,也能适配模块、服务、指令等其他类型文件的生成需求。


内容的提问来源于stack exchange,提问作者Nimer Awad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:18:00