8

目前,在开发 Wordpress 主题时,我使用一个简单的批处理文件来丑化我的 js。示例批处理文件makebundle.bat

call uglifyjs^
  src/file1.js^
  src/file2.js^
  -cmo bundle.min.js

然后我用watch这样的方式构建它

watch makebundle src

一切都非常简单。现在,我想让它成为一个不那么特定于 Windows 的过程。由于这里列出的 原因, 我不想使用 Grunt / Gulp,并且正在考虑尝试 使用 npm 作为构建工具。唯一的麻烦是,我不知道如何从内部配置 uglifyjspackage.json

编辑

这是我想从事的工作的一个例子package.json

{
  "uglifyConfig": [
    {
      "outfile": "bundle.min.js,
      "files": [
        "src/file1.js",
        "src/file2.js"
      ]
      "config": {
        "mangle": true,
        "compress": true
      }
    }
  ]
}
4

2 回答 2

6

如果您的构建脚本是节点脚本,您可以使用 Uglify 的 JavaScript API 而不是命令行 API。您可以轻松地require()使用您的 package.json,从中读取配置,并将这些值传递给 Uglify。

包.json:

{
  ...
  "scripts": {
    "ugly": "node do-uglify.js"
  }
  ...
}

做uglify.js:

var uglify = require('uglify');
var package = require('./package.json');
var uglifyConfig = package.uglifyConfig;
// Call the UglifyJS Javascript API, passing config from uglifyConfig
于 2015-07-21T18:37:38.520 回答
1

您可以将所需的任何脚本放在package.json.

{
  "name": "my-package",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "ugly": "uglify",
    "prepublish" : "uglify"
  },
...

您可以给它任意名称并使用npm run ugly或使用预定义的钩子之一运行它,例如prepublish

于 2015-07-21T17:50:38.637 回答