【问题标题】:Typescript and webstorm, missing --module flagTypescript 和 webstorm,缺少 --module 标志
【发布时间】:2015-05-02 02:28:57
【问题描述】:

在 WebStorm 中编辑在 VisualStudio 上创建的打字稿项目正在回复此错误:

错误:(1, 1) TS1148: 无法编译外部模块,除非 提供了“--module”标志。

代码很简单:

在文件 Test.ts

class helloWorld{

}

export = helloWorld;

提前感谢您的帮助

已编辑

我忘了说我使用的是 MAC。

同样在进入帖子后,在寻找解决方案的过程中,我尝试在 VisualStudio Code for Mac 中编译网络,我在那里遇到了同样的问题,请意识到问题不是 IDE 而是某些东西共同点,我没弄明白。

on fedemp answer this sentence trigger someting:

一个是在编译时使用标志:tsc --module commonjs 或 --module amd。

所以我转到 Webstorm 的首选项 -> 语言和框架 -> TypeScript 并在选项 “命令行选项:” 我添加了 --module amd 并完成了!

【问题讨论】:

  • 在导入在 IntelliJ 之外运行良好的 TS 项目后,我在 PC 上的 IntelliJ(我认为与 webstorm 几乎相同)14.1.3 中遇到了完全相同的错误。通过 File->Settings->Languages & Frameworks-> Typescript 并在“命令行选项:”中添加 --module commonjs 解决

标签: javascript typescript webstorm


【解决方案1】:

对于那些使用 VisualStudio 的人,我在 VS2015 上做了以下操作,错误消失了。

在解决方案资源管理器中右键单击项目->属性->TypeScript Build(左侧最后一个选项卡-代码分析下方)将“无”更改为“AMD”。

【讨论】:

  • 这让我解决了这个问题,但对于未来的访问者来说,选择“AMD”可能对您来说不是正确的选项,因为它是“系统”,我必须将其更改为正确的选项,具体取决于您使用的系统为您的模块。我还必须更改“JSX 编译”以删除所有错误
【解决方案2】:

检查这个:http://www.typescriptlang.org/Handbook#modules-export- 这是 Typescript 的官方文档,关于 export = 的部分。

当您使用export = 时,您正在创建一个外部模块以供 AMD 或 CommonJS 使用。这就是编译器抱怨的原因。

根据您的需要,您必须有两种选择。一种是在编译时使用标志:tsc --module commonjs--module amd。如果您想使用 NodeJS 或 require.js,请使用它。

如果你想在另一个打字稿文件中使用你的类,另一个是export class HelloWorld {...

【讨论】:

  • 感谢 fedemp,您的回答让我们找到了解决方案...假设您 50% 正确:P 我只是编辑问题以添加更多相关信息,以便将来帮助其他人。
猜你喜欢
  • 2016-05-12
  • 2022-07-03
  • 2013-01-02
  • 1970-01-01
  • 2019-01-19
  • 2018-07-19
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多