Npm 脚本命令的行为不像 shell

Npm scripts command not behaving like on shell

我正在尝试将任意数量的 Javascript 文件连接成一个大文件。

我在 package.json

的脚本部分声明了以下命令
"js:dev": "uglifyjs inz/js/**/*.js > 'ouz/haz/js/main.js'"

当我 运行 npm run js:dev 文件被写入时,但始终是空内容。 但是,如果我 运行 直接在我的 shell(即 zsh)上执行以下操作,则预期的内容将写入文件:

node_modules/uglifyjs/bin/uglifyjs inz/js/**/*.js > 'ouz/haz/js/main.js'

这是为什么?我希望两种方式的行为相同。在 npm run 的上下文中,文件 globbing 的工作方式是否不同?

我打赌那里不支持 **

find inz/js -type f -name '*.js' -exec uglifyjs {} + >ouz/haz/js/main.js – 4ae1e1