如何使用webpack构建缩小和未压缩的包? [英] How to build minified and uncompressed bundle with webpack?

查看:389
本文介绍了如何使用webpack构建缩小和未压缩的包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的 webpack.config.js

var webpack = require("webpack");

module.exports = {

  entry: "./entry.js",
  devtool: "source-map",
  output: {
    path: "./dist",
    filename: "bundle.min.js"
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin({minimize: true})
  ]
};

我正在建设

$ webpack

在我的 dist 文件夹,我只是


  • bundle.min.js

  • bundle.min.js.map

  • bundle.min.js
  • bundle.min.js.map

我还想看到未压缩的 bundle.js

推荐答案

webpack.config.js

const webpack = require("webpack");

module.exports = {
  entry: {
    "bundle": "./entry.js",
    "bundle.min": "./entry.js",
  },
  devtool: "source-map",
  output: {
    path: "./dist",
    filename: "[name].js"
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      include: /\.min\.js$/,
      minimize: true
    })
  ]
};

自Webpack 4起, webpack.optimize.UglifyJsPlugin 已被弃用且其使用导致错误:

Since Webpack 4, webpack.optimize.UglifyJsPlugin has been deprecated and its use results in error:


webpack.optimize.UglifyJsPlugin已被删除,请改用config.optimization.minimize

webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead

手册解释说,插件可以用最小化选项替换。通过指定 UglifyJsPlugin 实例,可以为插件提供自定义配置:

As the manual explains, the plugin can be replaced with minimize option. Custom configuration can be provided to the plugin by specifying UglifyJsPlugin instance:

const webpack = require("webpack");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  // ...
  optimization: {
    minimize: true,
    minimizer: [new UglifyJsPlugin({
      include: /\.min\.js$/
    })]
  }
};

这可以完成简单设置。更有效的解决方案是将Gulp与Webpack一起使用,并在一次通过中执行相同的操作。

This does the job for a simple setup. A more effective solution is to use Gulp together with Webpack and do the same thing in one pass.

这篇关于如何使用webpack构建缩小和未压缩的包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆