在我的tsconfig.json中,当我将compilerOptions.module从'commonjs'更改为'es6'或'esnext'时,我的任何实例都会收到错误“SyntaxError:Unexpected token import”
import * as React from 'react'
感谢您的帮助
答案 0 :(得分:3)
正如@Amy所说,Import
& Export
关键字在JavaScript中是非常新的,它们的引入从新的ES6标准开始,并且每个浏览器的实现都不存在或部分实现。
如TypeScript documentation中所述,导入& export目前与CommonJS / AMD一起使用。
这两种情况的组合有时会引发 SyntaxError ,具体取决于您的TSConfig和/或浏览器。
我的建议
您想使用新的ES6标准
您保持浏览器的最新状态,并参考@Amy提供的链接了解Import
&每个浏览器的Export
实现。
您不想使用新的ES6标准
您在AMD
文件中返回CommonJS
或TSConfig
。使用此解决方案,您将需要使用RequireJS来管理Import
& Export
或使用 Webpack 或 Browserify 捆绑您的Typescripts文件。
我的意见
如果您的代码仅用于学习或娱乐,您可以使用新的ES6标准。
如果是用于制作,我建议使用Webpack,这很难处理但非常强大。