Wenn wir Webpack zum Packen verwenden, möchten wir häufig die Bibliothek eines Drittanbieters separat extrahieren, sie als stabile Versionsdatei verwenden und den Browser-Cache verwenden, um die Anzahl der Anforderungen zu reduzieren. Es gibt zwei häufig verwendete Methoden zum Extrahieren von Bibliotheken von Drittanbietern. In diesem Artikel wird hauptsächlich die korrekte Vorgehensweise beim Extrahieren von Bibliotheken von Drittanbietern vorgestellt. Es gibt zwei häufig verwendete Methoden zum Extrahieren von Bibliotheken von Drittanbietern Für diejenigen, die interessiert sind, können Sie mehr darüber erfahren. Ich hoffe, es kann allen helfen.
CommonsChunkPlugin
DLLPlugin
Unterschied: Der erste Typ muss jedes Mal gepackt werden. Der dritte -Party-Bibliothek führt das Packen auch jedes Mal nur einmal aus. Wir müssen nur die komprimierte Datei des Drittanbieters zum ersten Mal zitieren
CommonsChunkPlugin-Methodeneinführung
Nehmen wir Vue als Beispiel
const vue = require('vue') { entry: { // bundle是我们要打包的项目文件的导出名字, app是入口js文件 bundle: 'app', // vendor就是我们要打包的第三方库最终生成的文件名,数组里是要打包哪些第三方库, 如果不是在node——modules里面,可以填写库的具体地址 vendor: ['vue'] }, output: { path: __dirname + '/bulid/', // 文件名称 filename: '[name].js' }, plugins: { // 这里实例化webpack.optimize.CommonsChunkPlugin构造函数 // 打包之后就生成vendor.js文件 new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js') } }
Verpacken Sie dann die generierte Datei und importieren Sie sie in die HTML-Datei
<script src="/build/vendor.js"></script> <script src="/build/bundle.js"></script>
Einführung in die DLLPlugin-Methode
Bereiten Sie zunächst zwei Dateien vor
webpack.config.js
webpack.dll.config.js
Die Datei webpack.dll.config.js ist wie folgt konfiguriert
const webpack = require('webpack') const library = '[name]_lib' const path = require('path') module.exports = { entry: { vendors: ['vue', 'vuex'] }, output: { filename: '[name].dll.js', path: 'dist/', library }, plugins: [ new webpack.DllPlugin({ path: path.join(__dirname, 'dist/[name]-manifest.json'), // This must match the output.library option above name: library }), ], }
Dann wird die Datei webpack.config.js wie folgt konfiguriert
const webpack = require('webpack') module.exports = { entry: { app: './src/index' }, output: { filename: 'app.bundle.js', path: 'dist/', }, plugins: [ new webpack.DllReferencePlugin({ context: __dirname, manifest: require('./dist/vendors-manifest.json') }) ] }
Dann führen Sie
aus
$ webpack --config webpack.dll.config.js $ webpack --config webpack.config.js
HTML-Referenzmethode
<script src="/dist/vendors.dll.js"></script> <script src="/dist/app.bundle.js"></script>
Verwandte Empfehlungen:
Detaillierte Erläuterung der Vue-On-Demand-Ladekomponente Webpack require.ensure
Webpack-Lerntutorial vorne -Zusammenfassung der Leistungsoptimierung
Das obige ist der detaillierte Inhalt vonAnalysieren Sie das Webpack korrekt, um Bibliotheken von Drittanbietern zu extrahieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!