我用CoffeeScript写了一个简单的模块,但我想把编译后的JavaScript发布到NPM。 我不想手动运行 coffee
命令,这样打字太多,而且我可能会忘记,时不时地发布陈旧的js。
我知道有一些npm的组合。package.json脚本钩子 和CoffeeScript的cli参数,可以做到这一点,但我忘了具体的内容。又是怎么一回事呢?
一个基本的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
脚本被认为是过时的 [email protected]. 您应该使用 prepare
而不是。还有一个剧本,是在前者的基础上推出的。prepublishOnly
. 它们相似但又不同,你可以在链接的帖子中阅读更多。
"scripts": {
"build": "coffee --compile --output lib/ src/",
"prepare": "npm run build && npm test",
"test": "jest"
}