在我的tsconfig.json文件中,当我将compilerOptions.module从'commonjs'更改为'es6'或'esnext'时,对于所有使用import * as React from 'react'
的实例,都会出现"SyntaxError: Unexpected token import"错误。
感谢您的帮助
在我的tsconfig.json文件中,当我将compilerOptions.module从'commonjs'更改为'es6'或'esnext'时,对于所有使用import * as React from 'react'
的实例,都会出现"SyntaxError: Unexpected token import"错误。
感谢您的帮助
正如@Amy所说,Import
和Export
关键字在JavaScript中非常新颖,它们的引入始于新的ES6标准,并且每个浏览器的实现都不存在或部分实现。
正如TypeScript文档中所写,导入和导出目前与CommonJS/AMD一起使用。
这两种情况的组合有时会导致SyntaxError,具体取决于您的TSConfig和/或您的浏览器。
我建议
您想使用新的ES6标准
您保持浏览器更新,并参考@Amy提供的链接了解每个浏览器对Import
和Export
的实现。
您不想使用新的ES6标准
您可以在TSConfig
文件中返回到AMD
或CommonJS
。使用此解决方案,您需要使用RequireJS来管理Import
和Export
,或者使用Webpack或Browserify捆绑您的Typescripts文件。
我的意见
如果您的代码仅用于学习或娱乐,可以使用新的ES6标准。
如果是为了生产,我建议使用Webpack,它难以处理但非常强大。
module='none'
和target='es5'
。再次强调,我建议分开问,因为我对这个特定的主题不够了解,无法自信地提供帮助。 - user47589
chrome:flags
中的某个地方。老实说,当我们在工作中开始使用TS和Babel时,我没有深入研究过这个问题,因为我们必须针对IE进行目标设置,而IE对ES6的支持非常差。 - user47589