长话短说,我们在开火前的构建过程" npm start"命令创建符号链接到项目的根文件夹中的node_modules文件夹,从其他地方获取它。
我们在package.json中的npm start命令设置:
"scripts": {
"prestart": "npm install",
"start": "tsc @App/Other/Gulp/preCompile.txt && gulp build",
...
}
所以它运行npm install,但是因为我们对node_modules进行符号链接并且npm检测到所有安装的软件包,它会跳转到" tsc @ App / Other / Gulp / preCompile.txt"但这失败了,因为编译器尝试从符号链接本地文件夹" node_modules"和原始" node_modules",来自log的确切行:
> tsc @App/Other/Gulp/preCompile.txt && gulp build
../../../../../../Resources/Development/node_modules/@types/angular/index.d.ts(17,21): error TS2300: Duplicate identifier 'angular'.
../../../../../../Resources/Development/node_modules/@types/angular/index.d.ts(18,21): error TS2300: Duplicate identifier 'ng'.
node_modules/@types/angular/index.d.ts(17,21): error TS2300: Duplicate identifier 'angular'.
node_modules/@types/angular/index.d.ts(18,21): error TS2300: Duplicate identifier 'ng'.
我尝试在tsconfig.json中将typeroots设置为" node_modules / @ types"这是默认值,但t没有帮助。似乎可以通过typescript 2.0 bug,因为原始路径是相对于项目根...
有人有这个问题吗?