angular 2 - PrimeNg teamcity/visual Studio 编译失败(排除 node_modules)
angular 2 - PrimeNg teamcity/visual Studio compilation failing (exclude node_modules)
嗨,我正在使用 PrimeNg 数据表,它似乎无法在 teamcity 上构建。下面是错误
(CompileTypeScriptWithTSConfig target) ->
node_modules\primeng\components\datatable\datatable.d.ts(180,14):
error TS1005: Build: '=' expected.
node_modules\primeng\components\datatable\datatable.d.ts(180,25):
error TS1005: Build: ';' expected.
知道为什么 Visual Studio 编译失败。 Typings 似乎有一些问题,我需要在此文件中手动修复它吗?
这些行之前的一些行是
PreComputeCompileTypeScriptWithTSConfig:
[13:34:52][Step 1/1] C:\Program Files (x86)\Microsoft
SDKs\TypeScript.8\tsc.exe --project
"E:\buildagent\workbe75659b1819119\src\MyProject.Client\e2e\tsconfig.json"
[13:34:52][Step 1/1] C:\Program Files (x86)\Microsoft
SDKs\TypeScript.8\tsc.exe --project
"E:\buildagent\workbe75659b1819119\src\MyProject.Client\src\tsconfig.json"
[13:34:52][Step 1/1] CompileTypeScriptWithTSConfig: [13:34:52][Step
1/1] C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe
--project "E:\buildagent\workbe75659b1819119\src\MyProject.Client\e2e\tsconfig.json"
[13:34:54][Step 1/1] C:\Program Files (x86)\Microsoft
SDKs\TypeScript.8\tsc.exe --project
"E:\buildagent\workbe75659b1819119\src\MyProject.Client\src\tsconfig.json"
我的 tsconfig 在下面
{
"compileOnSave": false,
"compilerOptions": {
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"mapRoot": "/",
"module": "commonjs",
"moduleResolution": "node",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../dist/",
"rootDir": ".",
"sourceMap": true,
"target": "es5",
"inlineSources": true
},
"files": [
"main.ts",
"typings.d.ts"
],
"exclude": [
"../node_modules/*",
"typings",
"**/*-aot.ts"
]
}
为什么不忽略node_modules编译
我已经设法修复了它,似乎 Tyescript 1.8 有错误 node_modules。
我将 Typescript 升级到 2.1,并将下面的版本从 1.8 更改为 2.1
<TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
它似乎解决了问题并忽略了 node_modules 打字稿文件。我不确定如何告诉 VS 不要编译另一种解决方案的 Typescript 文件。
如果您想忽略 VS 的 TypeScript 自动编译,请将 tsconfig.json 重命名为 tsconfig.jsonx 之类的名称。然后在您的 gulp 脚本(或首选构建环境)中使用重命名的文件。
当您的 VS csproj 中有 tsconfig.json 时,请检查属性。您会发现 VS 会在 "TypeScript Build" 部分下自动检测到它。
在我的 gulp 脚本中,我使用新的 ts 配置文件作为:
var tsProject = ts.createProject('tsconfig.jsonx');
// compile ts files and put it in dist
gulp.task('compile', ['clean'], function () {
return tsProject.src()
.pipe(tsProject())
.js.pipe(gulp.dest("dist/app"));
});
有点 hack,但如果需要的话,这是一种避免 MS Build 的方法
嗨,我正在使用 PrimeNg 数据表,它似乎无法在 teamcity 上构建。下面是错误
(CompileTypeScriptWithTSConfig target) -> node_modules\primeng\components\datatable\datatable.d.ts(180,14): error TS1005: Build: '=' expected. node_modules\primeng\components\datatable\datatable.d.ts(180,25): error TS1005: Build: ';' expected.
知道为什么 Visual Studio 编译失败。 Typings 似乎有一些问题,我需要在此文件中手动修复它吗?
这些行之前的一些行是
PreComputeCompileTypeScriptWithTSConfig:
[13:34:52][Step 1/1] C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe --project "E:\buildagent\workbe75659b1819119\src\MyProject.Client\e2e\tsconfig.json"
[13:34:52][Step 1/1] C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe --project "E:\buildagent\workbe75659b1819119\src\MyProject.Client\src\tsconfig.json"
[13:34:52][Step 1/1] CompileTypeScriptWithTSConfig: [13:34:52][Step 1/1] C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe --project "E:\buildagent\workbe75659b1819119\src\MyProject.Client\e2e\tsconfig.json"
[13:34:54][Step 1/1] C:\Program Files (x86)\Microsoft SDKs\TypeScript.8\tsc.exe --project "E:\buildagent\workbe75659b1819119\src\MyProject.Client\src\tsconfig.json"
我的 tsconfig 在下面
{
"compileOnSave": false,
"compilerOptions": {
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"mapRoot": "/",
"module": "commonjs",
"moduleResolution": "node",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../dist/",
"rootDir": ".",
"sourceMap": true,
"target": "es5",
"inlineSources": true
},
"files": [
"main.ts",
"typings.d.ts"
],
"exclude": [
"../node_modules/*",
"typings",
"**/*-aot.ts"
]
}
为什么不忽略node_modules编译
我已经设法修复了它,似乎 Tyescript 1.8 有错误 node_modules。
我将 Typescript 升级到 2.1,并将下面的版本从 1.8 更改为 2.1
<TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
它似乎解决了问题并忽略了 node_modules 打字稿文件。我不确定如何告诉 VS 不要编译另一种解决方案的 Typescript 文件。
如果您想忽略 VS 的 TypeScript 自动编译,请将 tsconfig.json 重命名为 tsconfig.jsonx 之类的名称。然后在您的 gulp 脚本(或首选构建环境)中使用重命名的文件。
当您的 VS csproj 中有 tsconfig.json 时,请检查属性。您会发现 VS 会在 "TypeScript Build" 部分下自动检测到它。
在我的 gulp 脚本中,我使用新的 ts 配置文件作为:
var tsProject = ts.createProject('tsconfig.jsonx');
// compile ts files and put it in dist
gulp.task('compile', ['clean'], function () {
return tsProject.src()
.pipe(tsProject())
.js.pipe(gulp.dest("dist/app"));
});
有点 hack,但如果需要的话,这是一种避免 MS Build 的方法