我在CoffeeScript中编写了一个简单的模块,但我想将编译后的JavaScript发布到NPM。我不想每次都手动运行coffee
命令,因为输入太多,我可能会忘记并时不时发布过时的js。
我知道有一些npm package.json脚本挂钩和CoffeeScriptcli参数的组合会起到作用,但我忘记了细节。又怎么样了?
传统目录结构的基本package.json设置看起来像
"scripts": {
"prepublish": "coffee --compile --output lib/ src/"
}
如果您还想在运行测试之前编译coffeescript,那么您可能希望将编译步骤作为可重复使用的脚本:
"scripts": {
"pretest": "npm run compile",
"prepublish": "npm run compile",
"test": "mocha",
"compile": "coffee --compile --output lib/ src/"
}
prepublish
脚本被认为是不推荐使用的npm@4.0.0.您应该使用prepare
。还有另一个与前prepublishOnly
一起引入的脚本。它们相似但不同,你可以在链接的帖子中阅读更多。
"scripts": {
"build": "coffee --compile --output lib/ src/",
"prepare": "npm run build && npm test",
"test": "jest"
}