如何在发布到NPM之前编译coffeescript?

hur*_*lad 1 package coffeescript npm

我在CoffeeScript中编写了一个简单的模块,但我想将已编译的JavaScript发布到NPM.我不想coffee每次都手动运行命令,这太多的打字,我可能会偶尔忘记并发布陈旧的js.

我知道有一些npm package.json脚本钩子和CoffeeScript cli参数的组合可以解决这个问题,但我忘记了细节.怎么回事?

hur*_*lad 5

传统目录结构的基本package.json设置如下所示

"scripts": {
  "prepublish": "coffee --compile --output lib/ src/"
}
Run Code Online (Sandbox Code Playgroud)

如果您还想在运行测试之前编译coffeescript,您可能希望将编译步骤作为可重用脚本拉出来:

"scripts": {
  "pretest": "npm run compile",
  "prepublish": "npm run compile",
  "test": "mocha",
  "compile": "coffee --compile --output lib/ src/"
}
Run Code Online (Sandbox Code Playgroud)