我刚刚开始使用webpack 3和dllplugin。我设法找到一些博客文章abt。这个。但是没有一个具有正确的代码示例/ GitHub样本代码。有没有人知道对此/工作示例的示例代码的任何引用?
答案 0 :(得分:0)
这是一个很好的简单例子:
我们在vendor.js中定义我们的函数(这是我们将作为DLL引用的库)。
<强> vendor.js 强>
function square(n) {
return n*n;
}
module.exports = square;
然后定义WebPack配置,使用DllPlugin将其导出为DLL。
<强> 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 include脚本标记。
与以下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