【问题标题】:How do I compile coffeescript before publishing to NPM?在发布到 NPM 之前如何编译咖啡脚本?
【发布时间】:2014-11-29 13:17:22
【问题描述】:

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

我知道 npm package.json script hooks 和 CoffeeScript cli 参数的组合可以解决问题,但我忘记了细节。又怎么样了?

【问题讨论】:

    标签: coffeescript package npm


    【解决方案1】:

    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/"
    }
    

    【讨论】:

    • 设置CakefileMakefile 来处理构建和测试过程通常是个好主意。
    • @LeonidBeschastny 值得肯定。 Some folks 强烈认为这样的构建工具通常是不必要的。节点模块通常(理想情况下?)非常小,以至于超出脚本的构建工具过多。
    • @VasiliyBorovyak 使用咖啡脚本 1.9.2 为我工作。你能告诉我更多关于你遇到的问题吗?
    • 适用于最新的咖啡。对此感到抱歉。不能投票。太可怕了,除非答案改变,否则我不能投票。
    【解决方案2】:

    prepublish 脚本被视为npm@4.0.0 的后续版本已弃用。您应该改用prepare。与前一个 prepublishOnly 一起引入了另一个脚本。它们相似但不同,您可以在链接的帖子中阅读更多内容。

    "scripts": {
        "build": "coffee --compile --output lib/ src/",
        "prepare": "npm run build && npm test",
        "test": "jest"
    }
    

    【讨论】:

    • 这是为我做的,节点 15
    猜你喜欢
    • 2012-01-25
    • 2011-06-30
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2015-10-27
    • 2017-01-28
    相关资源
    最近更新 更多