使用@ babel / plugin-transform-typescript编译打字稿时如何解决警告

Kin*_*ler 5 typescript babeljs

当我使用@ 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'
    ]
}
Run Code Online (Sandbox Code Playgroud)

而我的一部分 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',
            },
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

程序运行正常。当我ts-loader改用时,也可以。

你能帮助我吗?谢谢。