Cordova / Ionic项目打字稿编译错误

时间:2018-03-07 16:50:03

标签: typescript ionic-framework visual-studio-cordova

我在Visual Studio 2017中有这个Cordova / Ionic项目,经过最近的一些更改,将语音添加到文本功能之后,我在将项目克隆到另一台机器后无法构建项目。

项目结构是这样的:

project structure 1 project structure 2

当我构建解决方案时,我收到此错误:

  

" tsc.exe"的命令行开关无效。值不能为空。参数名称:path1

而且,很可能是因为第一个错误,我得到了数百个这样的错误:

  

无法写文件' D:/NT4-PROJECTS/ionicSenhas/www/libs/pre-cordova.js'因为它会覆盖输入文件。

     

无法写文件' D:/NT4-PROJECTS/ionicSenhas/www/libs/markerclusterer/markerclusterer.js'因为它会覆盖输入文件。

正在寻找此答案

  

命令行无效"切换" tsc.exe"。值不能为空。"参数名称:path1

问题,我发现我的建议很少,如下:

TscToolPath null in Microsoft.TypeScript.targets after installed update 3 of visual studio 2015

这里我有一个疑问:是否必须有一个tsconfig文件供tsc.exe编译打字稿文件? 我问这个是因为我从存储库克隆的项目没有这个tsconfig.json文件 - 我不确定执行此提交的程序员是否 忘了添加这个文件,或者如果我真的可以在没有tsconfig文件的项目中使用打字稿文件。

无论如何,我尝试了这个建议并添加了tsconfig文件

{
  "compilerOptions": {
    "module": "amd",
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "noEmitOnError": false
  },
  "compileOnSave": true,
   "exclude": [
      "node_modules",
      "bower_components",
      "platforms"
   ]
}

但问题仍然存在;

  

无法写文件' D:/NT4-PROJECTS/ionicSenhas/lib/angular-i18n/angular-locale_pt-br.js'因为它会覆盖输入文件

我已经尝试了很多东西(更新依赖项,再次卸载和安装),我想这是任何人都很难搞清楚的事情 没有看我的环境。

2 个答案:

答案 0 :(得分:0)

我的解决方案是在VS2017安装上进行修复。之后,TSC错误消失了。我测试了创建一个新的默认VS Cordova项目并构建它。此外,修复后我从VS2017 15.5.6到15.6.1 ...希望这有帮助

答案 1 :(得分:0)

在vs2017中创建一个空白的cordova应用程序,然后将新创建的.jsproj文件的内容复制到我原来的项目文件中。