如何使用WebPack DLL插件



我刚刚开始使用webpack 3和dllplugin。我设法找到了一些博客文章。这。但是,没有一个具有正确的代码样本/github samplecode。有人知道此/工作示例的示例代码的任何参考吗?

这是一个很好的简单示例:

我们在vendor.js中定义了我们的函数(这是我们将要引用为dll的库(。

vendor.js

function square(n) {
  return n*n;
}
module.exports = square;

然后定义WebPack配置将其作为DLL Pllplugin的导出。

vendor.webpack.config.js

var webpack = require('webpack');
module.exports = {
  entry: {
    vendor: ['./vendor'],
  },
  output: {
    filename: 'vendor.bundle.js',
    path: 'build/',
    library: 'vendor_lib',
  },
  plugins: [new webpack.DllPlugin({
    name: 'vendor_lib',
    path: 'build/vendor-manifest.json',
  })]
};

在我们的应用程序中,我们只需使用require(./dllName(

引用创建的dll

app.js

var square = require('./vendor');
console.log(square(7));

以及在WebPack构建配置中,我们使用dllReferencePlugin引用创建的dll。

app.webpack.config.js

var webpack = require('webpack');
module.exports = {
  entry: {
    app: ['./app'],
  },
  output: {
    filename: 'app.bundle.js',
    path: 'build/',
  },
  plugins: [new webpack.DllReferencePlugin({
    context: '.',
    manifest: require('./build/vendor-manifest.json'),
  })]
};

最后,我们需要编译DLL,然后使用WebPack。

与:

编译
webpack --config vendor.webpack.config.js
webpack --config app.webpack.config.js

要在HTML中包含文件,请使用简单JS包含脚本标签。

与以下index.html

一起使用
<script src="build/vendor.bundle.js"></script>
<script src="build/app.bundle.js"></script>

参考:https://gist.github.com/robertknight/058A194F45E77FF95FCD另外,您可以在WebPack存储库中找到更多DLL示例:https://github.com/webpack/webpack/tree/master/examples

相关内容

  • 没有找到相关文章

最新更新