标签: dllplugin

如何在服务器端渲染中使用webpack dll插件

我正在尝试使用webpack的dllPlugin来使我的块变小,并且我在客户端使它运行良好但在服务器端渲染中出错了.

以此为例,使其更简单,这是我的演示代码:

webpack.config.dll.js

// webpack.config.dll.js
const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: {
    a: ['./a']
  },
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name].js',
    library: '[name]'
  },
  plugins: [
    new webpack.DllPlugin({
      path: path.join(__dirname, 'dist', 'manifest.json'),
      name: '[name]'
    })
  ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

// webpack.config.js
const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: './example',
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'output.js'
  },
  plugins: [
    new webpack.DllReferencePlugin({
      context: __dirname,
      manifest: require('./dist/manifest.json')
    })
  ] …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack dllplugin

5
推荐指数
0
解决办法
1166
查看次数

Webpack DllReferencePlugin 不起作用

我的一个项目中的DllReferencePlugin有问题(我使用的是Webpack 1.13.2)。特别是,我有 3 对清单和由DllPlugin生成的包文件,在主包的插件部分中,我有 3 个DllReferencePlugin部分:

entry: {    
  body: [
    './src/main.js',
  ],
},
...
plugins: [
...
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'commons-manifest.json'),
    }),
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'vendor-manifest.json'),
    }),
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'react-manifest.json'),
    }),    
]
...
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,出现以下错误:

/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js:43 if(request && request in this.options.content) { ^

类型错误:无法使用“in”运算符在未定义中搜索“./src/main.js”

相同的配置适用于我的另一个项目,所以我认为这个错误与路径解析有关。我已经尝试了上下文和清单路径的相对路径,但它也不起作用。

webpack dllplugin dllreferenceplugin

5
推荐指数
1
解决办法
1511
查看次数

标签 统计

dllplugin ×2

webpack ×2

dllreferenceplugin ×1

reactjs ×1