模块解析失败:方法外的'super'关键字

时间:2020-03-11 19:15:28

标签: babeljs babel-loader

我对通天塔翻译有疑问。在这里打一堵墙,想知道是否有人可以给我提示。 我迁移了一个可运行的monorepo项目以使用基于root的babel.config.js

root
  babel.config.js
  packages
     server
         razzle.config.js => babel-loader customization
     common-lib

module.exports = api => {
    api.cache(true);
    console.log('babel root config loading');
    return {
        babelrcRoots: ['.', 'packages/*'],
        sourceType: 'unambiguous',
        presets: [
            [
                '@babel/preset-env',
                {
                    modules: false,
                    targets: { node: 'current', browsers: '> 0.25%, not dead' },
                },
            ],
            'babel-preset-expo',
            '@lingui/babel-preset-react',
        ],
        plugins: [
            'macros',
            [
                'module-resolver',
                {
                    extensions: [
                        '.web.js',
                        '.native.js',
                        '.ios.js',
                        '.android.js',
                        '.js',
                        '.json',
                    ],
                    alias: {
                        root: path.resolve(__dirname, ''),
                        assets: path.resolve(__dirname, 'assets'),
                        common-lib: path.resolve(__dirname, 'packages/common-lib'),
                        server: path.resolve(__dirname, 'packages/server/src/server'),
                    },
                },
            ],
        ],
        env: {
            development: {
                plugins: ['dynamic-import-node'],
            },
        },
    };
};

我使用webpack babel-loader来编译服务器端。

test: /\.m?js$/,
    use: {
        loader: 'babel-loader',
        include: [
            resolveDir('../../node_modules'),
            resolveDir('../common-lib/node_modules'),
            resolveDir('./src'),
            resolveDir('../common-lib/src'),
        ],
        options: {
            presets: ['@babel/preset-env'],
            rootMode: 'upward',
            presets: [
                [
                    '@babel/preset-env',
                    {
                        modules: false,
                        targets: {
                            browsers: target === 'web' ? '> 0.25%, not dead' : undefined,
                            node: target !== 'web' ? 'current' : undefined,
                        },
                    },
                ]
            ]
        }
    }
}

我的服务器是es6,我扩展了一些类,尤其是sequelize。当前,这会导致此错误:

Module parse failed: 'super' keyword outside a method (1:5725)
File was processed with these loaders:
 * ../../node_modules/cache-loader/dist/cjs.js
 * ../../node_modules/shebang-loader/index.js
 * ../../node_modules/babel-loader/lib/index.js
 * [...]
 * at Object.../../node_modules/sequelize/lib/dialects/mysql/query-generator.js

You may need an additional loader to handle the result of these loaders.

使用节点12.16,@ babel /核心7.8.7,@ babel / preset-env 7.8.7。

0 个答案:

没有答案
相关问题