Uglifyjs是从命令行工作,但不是从npm运行脚本?

时间:2017-03-06 17:49:05

标签: node.js npm uglifyjs package.json npm-scripts

在我的package.json文件中,我有这个脚本:

"scripts": {
      "uglify:dist": "uglifyjs ./src/*.js -o ./build/js/app.min.js"
}

当我从命令行运行脚本时,它不会创建app.min.js文件,而只会在屏幕上显示输出

$ npm run uglify:dist

> @ uglify:dist /home/user/Desktop/my-github-page
> uglifyjs ./src/*.js -o ./build/js/app.min.js

(function(){"use strict";angular.module("app",["fullPage.js","app.routes","app.footer.directive","app.nav.controller","app.nav.directive","app.main.controller","app.home.controller","app.home.directive","app.about.controller","app.about.directive","app.contact.controller","app.contact.directive","app.projects.controller","app.projects.directive"])})();

但是,当我直接从命令行运行uglifyjs时,它可以工作!

$ uglifyjs src/*.js -o build/js/app.min.js

我尝试过:

  • 脚本的不同变体
  • 确保./build/js存在
  • 卸载并重新安装uglify-js
  • 删除节点模块并重新运行npm install

版本

  • npm:4.1.2
  • uglify-js:1.3.5
  • node:7.2.1

这里有什么问题?

2 个答案:

答案 0 :(得分:0)

一切都正确,只需将uglify-js更新为最新版本。

答案 1 :(得分:0)

npm run *命令在/node_modules中使用本地模块,因此您应该在其中安装uglifyjs,如下所示:npm install --save-dev uglifyjs