除非提供了--module标志,否则无法编译模块

Gre*_*Gum 9 typescript visual-studio-2015

更新:我当时遇到的问题是由于VS/Typescript中的错误.此问题现已解决.目前,发生此错误的唯一原因是在Typescript属性中未选择任何模块类型.见接受的答案.

VS 15:asp.net MVC项目.

我添加了一个打字稿文件.然后我将Module系统设置为System.

然后我构建了这个项目.

发生错误:除非提供了--module标志,否则无法编译模块.

然后我检查ts文件的属性.我将构建操作设置为none.错误消失了.

但是,如果我使用带有Greeter类的模板开始一个新的Typescript项目,那么所有工作都按预期工作.

但是我仔细查看了项目设置,并且没有任何差异,我可以看到.

我已经阅读了此错误的所有其他堆栈溢出答案,但没有一个解决了错误.

我找到的唯一解决方法是将"Compile On Save"设置为true,然后将构建操作设置为"None"

Mar*_*cks 7

1打开项目属性(在解决方案资源管理器中右键单击您的项目,然后单击"属性").

2打开TypeScript选项卡.

3在模块系统部分中选择AMD.


All*_*ice 6

所以,我们一直都会遇到这种情况,但出于不同的原因.我们将所有打字稿编译卸载到gulp(由PreBuildEvent调用),因此编译工作正常,但在Visual Studio中查看文件时仍然会出现此错误.

基本上,我们需要告诉Visual Studio我们正在使用AMD,所以为了实现这一点,请执行以下操作:

  • 在Visual Studio中,转到"工具">"选项">"文本编辑器">"TypeScript">"项目"
  • 选中"自动编译不属于项目的TypeScript文件"
  • 选中"对不属于项目的模块使用AMD代码生成"

此时,您甚至可以取消选中"自动编译...."选项,它只是需要保持检查的第二个选项.

同样,当我们遇到问题时,它只是一个开发时间问题而且不会影响我们的构建(在本地或在我们的构建服务器上).