造成这个错误主要有3个可能的原因:

  1. context上下文不一致
  2. library和name 不一致
  3. 生成的dll文件没加入到html文件中
dll.config.js
module.exports = {
    mode:"production",
    output: {
        path:path.resolve(__dirname, '../dist'),
        filename: '[name].dll.js',
        library: dllName, //这里需要和DllPlugin option.name 一致
    },
    entry: {
        "lib": vendors,
    },
    plugins: [
        new webpack.DllPlugin({
            path:path.resolve(__dirname,'../dist/manifest.json'),
            name: dllName,
            context: __dirname, //上下文必填
        }),
        new CleanWebpackPlugin([`./dist/*.dll.js`,`./dist/*.json`], { root: path.resolve(__dirname, "../") }),
    ]
  }
webpack.config.js   
 new webpack.DllReferencePlugin({
      context: __dirname, //这个上下文对应DllPlugin
      manifest: require('../dist/manifest.json')}
      ),
      new AddAssetHtmlPlugin( 
        [
            {
                filepath: "./dist/*.dll.js",  //将生成的dll文件加入到index.html中
            },
        ]
    ),

ZoeLee
104 声望4 粉丝

不忘初心