TypeScript.MSBuild错误:无法从* .js&创建URI .map.js

时间:2018-02-17 15:33:14

标签: typescript msbuild travis-ci msbuild-task kudu

我已将TypeScript.MSBuild NuGet包添加到两个单独的项目中。

(刚刚使用2.7.2版进行了测试。)

在当地,它运行良好。在Kudu,它建立良好。但是,在travis-ci和Bitbucket的管道上,我收到每个.ts文件的以下错误:

CompileTypeScriptWithTSConfig: 
    /home/travis/.nvm/versions/node/v6.12.0/bin/node /home/travis/build/<user>/<project>/packages/Microsoft.TypeScript.MSBuild.2.7.2/tools/tsc/tsc.js --project "/home/travis/build/<user>/<project>/Scripts/TypeScript/tsconfig.json" --listEmittedFiles

    /home/travis/build/<user>/<project>/packages/Microsoft.TypeScript.MSBuild.2.7.2/tools/Microsoft.TypeScript.targets(444,5): error : Failed to create URI from '\home\travis\build\<user>\<project>\Scripts\TypeScript\App.js'. [/home/travis/build/<user>/<project>/<project>.csproj]
    /home/travis/build/<user>/<project>/packages/Microsoft.TypeScript.MSBuild.2.7.2/tools/Microsoft.TypeScript.targets(444,5): error : Failed to create URI from '\home\travis\build\<user>\<project>\Scripts\TypeScript\App.js.map'. [/home/travis/build/<user>/<project>/<project>.csproj]

我的tsconfig.json文件如下:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "noImplicitThis": true,
    "noEmitOnError": true,
    "module": "commonjs",
    "target": "es5",
    "sourceMap": true,
    "removeComments": true
  },
  "compileOnSave": true
}

另外,值得注意的是,在本地运行命令会得到正确的结果:(请注意,我DID运行nvm use 6.12.0以查看它是否是节点问题)

C:\Users\User\Projects\Project> node ./packages/Microsoft.TypeScript.MSBuild.2.7.2/tools/tsc/tsc.js --project "<Project>/Scripts/TypeScript/tsconfig.json" --listEmittedFiles
TSFILE: C:/Users/User/Projects/Project/Scripts/TypeScript/App.js
TSFILE: C:/Users/User/Projects/Project/Scripts/TypeScript/App.js.map

所以我的问题是:如何保留TypeScript.MSBuild NuGet包并让它与我的ci一起使用?

编辑: 我通过ssh连接到travis容器并运行msbuild命令两次。第二次,它建好了。似乎MSBuild任务太快就试图建立一个URI,可能吗?

1 个答案:

答案 0 :(得分:0)

我通过将tsconfig.json移动到项目的根文件夹来实现它。