执行ng build遇@angular/core依赖错误及后续问题求助
首先得明确:你的项目是Node.js + Express的后端服务,完全不是Angular前端项目,所以用ng build这个Angular CLI专属命令来构建,从一开始就找错了工具,这才是所有错误的核心原因。
为什么会出现那些错误?
第一个错误提示"You seem to not be depending on '@angular/core'":
ng build是Angular项目的构建命令,它会默认检查项目是否包含Angular核心依赖、是否有Angular的配置文件。但你的package.json里全是Express、Node.js相关依赖,根本没有Angular的内容,所以直接报错。安装
@angular/core后出现"找不到angular.json":
Angular项目必须有angular.json(旧版是angular-cli.json)作为工作区配置文件,你的项目是后端服务,根本不需要也不存在这个文件,所以Angular CLI依然无法识别你的项目,自然报错。
正确的解决步骤
1. 停止使用ng build,改用项目自带的构建脚本
看你的package.json里的scripts字段,项目已经配置好了专属的构建命令:
- 编译TypeScript代码:执行
npm run build(本质是调用gulp编译TS到dist目录) - 编译+打包成zip:执行
npm run pack - 仅打包已编译的产物:执行
npm run zip
这些才是适配你这个后端项目的正确构建命令,完全不需要Angular CLI。
2. 清理误安装的Angular依赖
如果你之前已经安装了@angular/core或@angular/cli,可以执行以下命令移除这些无用的依赖:
npm uninstall @angular/core @angular/cli --save-dev
3. 验证构建流程正常运行
按以下步骤测试:
# 清理旧的构建产物 rm -rf dist dist.zip # 执行编译 npm run build # (可选)打包成zip npm run pack
额外说明
你的项目是基于TypeScript的Express后端服务,构建逻辑是通过gulp+typescript把src目录下的TS代码编译到dist目录,整个流程和Angular没有任何关系。之前的所有错误都是误用Angular CLI命令导致的,回到项目本身的构建脚本就能彻底解决问题。
内容的提问来源于stack exchange,提问作者AceNinja1101

