如何将文件压缩并保存到另一个位置(vue.js)

A. *_*Lau 5 node.js webpack vue.js webpack-2 vuejs2

我不确定如何将server.js文件丑化并将其保存到dist文件夹下的server文件夹中。现在我正在使用CopyWebpackPlugin

new CopyWebpackPlugin([
  {
    from: path.resolve(__dirname, '../static'),
    to: config.build.assetsSubDirectory,
    ignore: ['.*']
  },
  {
    from: path.resolve(__dirname, '../src/server'),
    to: config.build.assetsServerDirectory,
    ignore: ['*.sql']
  }
]),
Run Code Online (Sandbox Code Playgroud)

这可行,但是只是简单的复制和粘贴。

acd*_*ior 6

您可以使用uglify- es + copy-webpack-plugintransform()

  • 安装软件包:

    npm install uglify-es --save-dev
    
    Run Code Online (Sandbox Code Playgroud)
  • 将其添加到您的源:

    const UglifyJS = require("uglify-es");                  // add the require
    
    new CopyWebpackPlugin([
      {
        from: path.resolve(__dirname, '../static'),
        to: config.build.assetsSubDirectory,
        ignore: ['.*']
      },
      {
        from: path.resolve(__dirname, '../src/server'),
        to: config.build.assetsServerDirectory,
        transform: function (content, path) {               // add transform()
          return UglifyJS.minify(content.toString()).code;  // use uglify
        },                                                  // (no args = mangle+compress)
        ignore: ['*.sql']
      }
    ]),
    
    Run Code Online (Sandbox Code Playgroud)

注意:UglifyJS.minify(content.toString()).code与相同UglifyJS.minify(content.toString('utf8')).code如果编码不同,则有一些选项