【发布时间】:2013-05-25 02:34:31
【问题描述】:
我想设置一个脚本,在我使用 NPM 发布之前缩小我的 Javascript 代码。
据我了解,这应该可以在package.json 中使用:
"scripts": {
"prepublish": "somethingThatMinifies"
}
在这种情况下,什么工具最适合/最常用于缩小?
【问题讨论】:
我想设置一个脚本,在我使用 NPM 发布之前缩小我的 Javascript 代码。
据我了解,这应该可以在package.json 中使用:
"scripts": {
"prepublish": "somethingThatMinifies"
}
在这种情况下,什么工具最适合/最常用于缩小?
【问题讨论】:
有点晚了,但希望它仍然对某人有所帮助(比如我自己,他是通过 Google 搜索“预发布”来到这里的)。
我相信uglifyjs 是最流行的压缩和压缩工具之一。
你可以这样使用它:
"scripts" : {
"prepublish" : "uglifyjs -o myfile.min.js myfile.js"
}
只需确保将uglify-js 添加到您的devDependencies。
请参阅uglifyjs 了解选项以及有关其工作原理的更多信息。如果您的缩小过程变得过于复杂,您可以创建一个Makefile 并使用类似:
"scripts" : {
"prepublish" : "make minify"
}
【讨论】:
./node_modules/.bin/ 在运行 npm 脚本时添加到路径中,因此您可以从第一个 prepublish 脚本中删除它。
所以只是为了更新@mkretschek 答案,现在我们应该使用prepare 或prepublishOnly 在npm 发布包之前运行我们的缩小脚本,因为npm 4.0.0 prepublish 已被弃用。
准备
在打包之前的任何时间运行,即在 npm publish 和 npm pack
期间
仅预发布
在准备和打包包之前运行,仅在 npm publish 上运行。
那么我们的package.json 看起来像:
"scripts" : {
"prepublishOnly" : "uglifyjs -o myfile.min.js myfile.js"
}
参考:npm scripts
【讨论】: