javascript - Webpack 输出包大于预期

标签 javascript webpack

我的入口 JS 文件中唯一的内容是:

import $ from 'jquery';

jQuery JS 文件大小为 29.5kb,来自 jsdelivr 。 我的条目仅包含 jQuery,没有其他内容,大小为 86kb

webpack.config.js

const path = require('path');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')

module.exports = {
    entry: './src/js/scripts.js',
    output: {
        publicPath: "./dist/",
        path: path.join(__dirname, "dist/js/"),
        filename: "bundle.js"
    },
    watch: true,
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: "babel-loader",
                query: {
                    presets: [
                        ['env', { loose:true, modules:false }],
                        'stage-2'
                    ],
                    plugins: [
                        ['transform-react-jsx', { pragma:'h' }]
                    ]
                }
            },
            {
                test: /\.pug$/,
                use: [
                    "file-loader?name=[name].html&outputPath=../dist",
                    "extract-loader",
                    "html-loader",
                    "pug-html-loader"
                ]
            },
            {
                test: /\.scss$/,
                use: ExtractTextPlugin.extract({
                    use: ['css-loader?url=false', 'sass-loader']
                })
            },
        ]
    },
    resolve: {
        alias: {
            "TweenMax": path.resolve('node_modules', 'gsap/src/uncompressed/TweenMax.js'),
            "TimelineMax": path.resolve('node_modules', 'gsap/src/uncompressed/TimelineMax.js'),
            "animation.gsap": path.resolve('node_modules', 'scrollmagic/scrollmagic/uncompressed/plugins/animation.gsap.js'),
        }
    },
    plugins: [
        new ExtractTextPlugin('../css/main.css'),
        new UglifyJsPlugin({
            test: /\.js($|\?)/i
        })
    ],
    stats: {
        warnings: false
    }
};

我还应该提到,进入输出 bundle.js 它仍然有 jQuery 注释。

jQuery JavaScript Library v3.3.1 https://jquery.com/ ...

尽管我使用 -p 参数调用 webpack 并拥有 UglifyJS 插件,但文件的其余部分已被缩小和损坏。有什么想法吗?

谢谢!

最佳答案

尝试从您的链接复制并粘贴缩小的 jquery。它的大小为86.9 kbThis link还显示 jquery v3 缩小后的文件大小也在 80kb 左右。

所以您已经有了正确的设置。也许您的29.5kb文件大小是缩小+gzipped文件。

关于javascript - Webpack 输出包大于预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49970143/

相关文章:

javascript - 如何使用 webpack 配置 pm2 以进行 typescript 编译和重新加载?

javascript - React Deploying to AWS S3 production using npm - index.html 文件作为最后

javascript - 是否有用于 javascript 的任何反转控制框架?

javascript - 页面中两个不同轮播的两个过渡时间

javascript - 在人力车图渲染上使用悬停细节显示值

webpack - 如何在 webpack 5 中更改 web worker 文件的输出格式

javascript - Cloudinary 响应式图像仅在使用 Webpack 的 React 中的窗口大小变化时显示

node.js - 无法启动 webpack-dev-server - 找不到模块

javascript - typescript 导入@google-cloud/pubsub

javascript - domConstruct 放置按钮未触发