TypeScript compilerOptions“意外令牌导入”

时间:2017-08-03 00:33:09

标签: javascript reactjs typescript

在我的tsconfig.json中,当我将compilerOptions.module从'commonjs'更改为'es6'或'esnext'时,我的任何实例都会收到错误“SyntaxError:Unexpected token import” import * as React from 'react'

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

正如@Amy所说,Import& Export关键字在JavaScript中是非常新的,它们的引入从新的ES6标准开始,并且每个浏览器的实现都不存在或部分实现。

TypeScript documentation中所述,导入& export目前与CommonJS / AMD一起使用。

这两种情况的组合有时会引发 SyntaxError ,具体取决于您的TSConfig和/或浏览器。

我的建议

您想使用新的ES6标准

您保持浏览器的最新状态,并参考@Amy提供的链接了解Import&每个浏览器的Export实现。

您不想使用新的ES6标准

您在AMD文件中返回CommonJSTSConfig。使用此解决方案,您将需要使用RequireJS来管理Import& Export或使用 Webpack Browserify 捆绑您的Typescripts文件。

我的意见

如果您的代码仅用于学习或娱乐,您可以使用新的ES6标准。

如果是用于制作,我建议使用Webpack,这很难处理但非常强大。