2

我正在尝试使用 webpack 来捆绑我的反应项目。在我定义了webpack_public_path变量后,所有的模块和一切都加载得很好。除了工人之外的一切。

const path = require('path');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');

module.exports = {
    mode: "production",

    resolve: {
        extensions: ["*", ".ts", ".tsx", ".js", ".mjs", ".css", ".ttf"]
    },

    module: {
        rules: [
            {
                test: /\.worker\.js$/,
                use: {
                    loader: 'worker-loader',
                    options: {inline: true}
                },
            },
            {
                test: /\.mjs$/,
                include: /node_modules/,
                type: 'javascript/auto'
            },
            {
                test: /\.css$/i,
                use: ['style-loader', 'css-loader'],
            },
            {
                test: /\.ttf$/,
                use: ['file-loader']
            },
            {
                test: /\.ts(x?)$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: "ts-loader"
                    }
                ]
            }
        ]
    },
    plugins: [
        new MonacoWebpackPlugin({
            languages: ['markdown'],
        })
    ],
    entry: './src/index.tsx',
    output: {
        path: path.resolve(__dirname, 'assets'),
        filename: 'graphqlschemaeditor.js'
    }
};

这是我的 webpack.config.js

有谁知道我做错了什么?非常感谢

4

1 回答 1

1

您是否尝试过指定一个明确的publicPath?

例如

{
  loader: 'worker-loader',
  options: { publicPath: '/workers/' }
}

这可能会解决加载问题。

于 2020-02-20T10:01:32.373 回答