簡體   English   中英

如何避免相同的模塊重復Webpack捆綁?

[英]How to avoid same modules duplication Webpack bundling?

我使用laravel-mix(包括webpack)捆綁JS文件。 使用BundleAnalyzerPlugin,我發現我的輸出文件包含多個JQuery lib副本,這會增加輸出文件的大小。

它本身接縫了幾個模塊,包括JQuery。

任何想法如何避免這種情況並刪除所有多余的jquery包含?

(更新了更多信息)

捆綁分析器輸出的圖像

webpack.mix.js

const { mix } = require('laravel-mix');
const webpack = require('webpack');

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

mix.js('resources/assets/js/admin.js', 'public/js')

mix.webpackConfig({
    plugins: [
        new BundleAnalyzerPlugin(),
        new webpack.ProvidePlugin({ // Added as a suggestion. Makes no difference
            '$': 'jquery',
            'jQuery': 'jquery',
            'window.jQuery': 'jquery'
        })
    ],
});

admin.js

import 'jquery'
import 'toastr'

在您的輸入文件中import 'jquery'並將以下塊添加到您的webpack.config中

plugins: [
    new webpack.ProvidePlugin({
      '$': 'jquery',
      'jQuery': 'jquery',
      'window.jQuery': 'jquery'
    })
]

參考: Webpack提供插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM