gpt4 book ai didi

javascript - 如何避免相同的模块重复 Webpack 捆绑?

转载 作者:行者123 更新时间:2023-12-05 07:38:39 27 4
gpt4 key购买 nike

我使用 laravel-mix(包括 webpack)来打包 JS 文件。使用 BundleAnalyzerPlugin,我发现我的输出文件包含多个 JQuery 库副本,这增加了输出文件的大小。

它自己缝合了几个模块,包括 JQuery。

有什么想法可以避免这种情况并删除所有多余的 jquery 包含吗?

(更新了更多信息)

Image of Bundle analyzer output

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'

最佳答案

在您的入口文件中导入“jquery”,并将以下 block 添加到您的 webpack.config

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

引用:Webpack Provide Plugin

关于javascript - 如何避免相同的模块重复 Webpack 捆绑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47796131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com