我在CoffeeScript中编写了一个简单的模块,但我想将已编译的JavaScript发布到NPM。我不想每次都手动运行coffee
命令,因为打字太多,我可能会偶尔忘记并发布陈旧的js。
我知道有一些npm package.json script hooks和CoffeeScript cli参数的组合可以解决问题,但我忘记了细节。怎么回事?
答案 0 :(得分:5)
conventional directory structure的基本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/"
}
答案 1 :(得分:0)
prepublish
脚本被视为npm@4.0.0的不推荐使用的更高版本。您应该改为使用prepare
。与前prepublishOnly
一起引入了另一个脚本。它们相似但不同,您可以在链接的文章中阅读更多内容。
"scripts": {
"build": "coffee --compile --output lib/ src/",
"prepare": "npm run build && npm test",
"test": "jest"
}