node.js - 如何丑化文件并保存到另一个位置(vue.js)

标签 node.js webpack vue.js vuejs2 webpack-2

我不确定如何丑化我的 server.js 文件并将其保存到 server 文件夹下的 dist 文件夹中。现在我正在使用 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']
  }
]),

这有效,但只是一个简单的复制和粘贴。

最佳答案

您可以使用 uglify-es + copy-webpack-plugin's transform() :

  • 安装包:

    npm install uglify-es --save-dev
    
  • 将其添加到您的来源:

    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']
      }
    ]),
    

注意:UglifyJS.minify(content.toString()).codeUglifyJS.minify(content.toString('utf8')).code相同. There are options in case of different encodings .

关于node.js - 如何丑化文件并保存到另一个位置(vue.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49786079/

相关文章:

javascript - 捕获 Vue 应用程序中的所有点击事件

vue.js - 从 Vuex 操作返回数据

javascript - 如何在 npm 包函数中创建全局变量

node.js - Rollup 用相对路径替换 Node 模块导入

javascript - Webpack、数据表和 yadcf

javascript - 在 Vuex 模块中进行继承的方法

node.js - 检查云任务队列是否为空

node.js - 在 .populate() waterline-postgresql .populate ('fieldName' 中获取选定字段,{select :[]})

css - Webpack 将两个 CSS 文件和一个 SCSS 文件拼接成一个 CSS 文件

ionic-framework - ionicserve 在ionic 2 中执行什么?