Angular CLI单项目创建多应用报错:Invalid blueprint: application
解决Angular CLI 1.2.7执行
ng generate application报错的问题 嘿,我来帮你搞定这个头疼的问题!你遇到的Invalid blueprint: application错误,根源其实很简单——你的Angular CLI版本太老了。
为什么会报错?
@angular/cli 1.2.7是Angular CLI非常早期的版本(大概2017年发布的),这个版本还没有引入多应用Workspace的功能。ng generate application这个命令是在Angular CLI 6.0及以后才正式加入的,旧版本根本识别不了application这个蓝图,自然就会报错。
解决方案:分两种情况处理
方案1:升级Angular CLI到支持多应用的版本(推荐)
这是最省心的解决方式,步骤如下:
- 先全局卸载旧版CLI:
npm uninstall -g @angular/cli - 可选但推荐:清理npm缓存,避免安装异常
npm cache verify - 安装兼容你Node版本的CLI(你的Node是v8.0.0,建议安装Angular CLI 6.x系列的稳定版,比如6.2.9,它完美支持Node 8):
npm install -g @angular/cli@6.2.9 - 创建空的Workspace(不自动生成默认应用):
ng new my-app --create-application false - 进入项目目录后,分别生成两个应用:
这样你的cd my-app ng generate application app ng generate application demo1src目录下就会出现app和demo1两个应用文件夹啦!
方案2:不升级CLI,手动实现多应用(不推荐,繁琐易出错)
如果你实在不想升级,只能手动折腾:
- 在
src下新建demo1文件夹,手动复制app目录的完整结构(组件、模块、入口文件等) - 修改根目录的
angular-cli.json(旧版本的配置文件),添加第二个应用的配置项,指定入口文件、模板、样式等路径 - 这种方式需要手动维护大量配置,很容易出问题,所以非常不推荐。
额外提醒
你的Node v8.0.0也属于非常老旧的版本了,很多新的Angular CLI和Angular版本都不再支持它。如果后续要使用更新的Angular功能,建议把Node升级到LTS版本(比如14.x或16.x),兼容性会好很多。
错误截图显示内容:
Invalid blueprint: application
内容的提问来源于stack exchange,提问作者Ashwini Demouser
相关产品推荐
相关产品推荐

