当我使用@ babel / plugin-transform-typescript编译打字稿时,会发生警告
此问题可能是由另一个插件注入引起的 “ _class”,而无需在范围跟踪器中注册。如果你是作者 该插件,请使用“ scope.registerDeclaration(declarationPath)”。 在Babel范围跟踪器中未声明导出的标识符“ _class” 作为JavaScript值绑定和“ @ babel / plugin-transform-typescript” 从来没有遇到过它作为TypeScript类型声明。 它将被视为JavaScript值。
我找不到原因。
这是我的babel.config.js
module.exports = {
presets: ['@babel/preset-typescript', '@babel/preset-react', '@babel/preset-env', 'mobx'],
plugins: [
['@babel/plugin-transform-typescript', { allowNamespaces: true }],
// Stage 0
'@babel/plugin-proposal-function-bind',
// Stage 1
'@babel/plugin-proposal-export-default-from',
'@babel/plugin-proposal-logical-assignment-operators',
['@babel/plugin-proposal-optional-chaining', { loose: false }],
['@babel/plugin-proposal-pipeline-operator', { proposal: 'minimal' }],
['@babel/plugin-proposal-nullish-coalescing-operator', { loose: false }],
'@babel/plugin-proposal-do-expressions',
// Stage 2
['@babel/plugin-proposal-decorators', { legacy: true }],
'@babel/plugin-proposal-function-sent',
'@babel/plugin-proposal-export-namespace-from',
// '@babel/plugin-proposal-numeric-separator',
'@babel/plugin-proposal-throw-expressions',
'@babel/plugin-proposal-object-rest-spread',
// Stage 3
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-syntax-import-meta',
['@babel/plugin-proposal-class-properties', { loose: true }],
// '@babel/plugin-proposal-json-strings',
// Other
'@babel/plugin-transform-runtime',
'@babel/plugin-transform-modules-commonjs',
'jsx-control-statements'
]
}
还有我的webpack.config.js
module.exports = {
// ...
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: ['.js', '.ts', '.tsx']
},
module: {
rules: [
{
test: /\.[tj]sx?$/,
loader: 'babel-loader',
},
]
}
};
程序运行正常。当我改用ts-loader
时,也可以。
你能帮我吗?谢谢。