use*_*043 5 javascript typescript reactjs babeljs
如果在React组件文件中,我为状态定义一个接口:
interface IState {
}
Run Code Online (Sandbox Code Playgroud)
并尝试编译与babel.transform我得到的错误:
SyntaxError: unknown: interface is a reserved word in strict mode
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?我该如何进行编译?
我在用:
"babel-cli": "^7.0.0-beta.3",
"babel-preset-es2015": "^7.0.0-beta.3",
"babel-preset-typescript": "^7.0.0-beta.3",
Run Code Online (Sandbox Code Playgroud)
在Mac OSX 10.11.6。
小智 0
您遇到的错误是预期行为。interface 关键字在严格模式下被保留,尝试在 JavaScript 文件中使用它会导致语法错误。
要使用 Babel 编译 TypeScript 代码(包括接口),您需要为 TypeScript 使用适当的 Babel 预设,在最新版本的 Babel 中为 @babel/preset-typescript。
{
"presets": [
"@babel/preset-env",
"@babel/preset-typescript"
]
}
Run Code Online (Sandbox Code Playgroud)