簡體   English   中英

使用Coffeescript開發節點模塊的標准方法?

[英]Standard way of developing a node module using Coffeescript?

如果我想用Coffeescript編寫節點模塊,但又不想強迫模塊用戶要求使用coffee-script模塊,是否有推薦的開發節點模塊的方法?

將CoffeeScript代碼放在src文件夾中,將已編譯的JavaScript代碼放在lib文件夾中。

然后在package.json文件中,將main聲明為lib文件夾中的js文件。 然后,您包的用戶將需要js文件而不是coffee文件。

您可以以@TrevorBurnham的存儲庫為例。

我的git倉庫只有一個src文件夾; .gitignore文件,其中帶有lib行; 和一個空的.npmignore文件。 需要空的.npmignore文件,因為如果不在模塊上,則將使用.gitignore

我只是添加了一個Cakefile其中包含一個使用coffee --compile --output lib/ src/來構建我的src目錄的任務,以及一個pretestprepublish任務到package.json以在測試和發布之前進行構建。

"scripts": { "pretest": "cake build", "prepublish": "cake build", }

此解決方案使我的git存儲庫保持干凈(沒有編譯代碼),但是在發布到npm時將我的JavaScript代碼添加到lib中。

我剛開始使用CoffeeScript,但是我建議以下內容:

  1. 將您的CoffeeScript代碼存儲在src/*.coffee 。coffee中,
  2. 在項目的根目錄中編寫一個NPM可以捕獲的main.js ,並使其簡單地執行require('coffee-script'); require('./src/my_lib.coffee') require('coffee-script'); require('./src/my_lib.coffee')

那里。 您永遠都不會編譯代碼; 全部透明地處理。 您既不將已編譯的代碼檢入git中,也不將多余的已編譯JavaScript與未編譯的CoffeeScript一起發布到NPM。

編輯:在最新版本的coffee-scirpt中,您應該require('coffee-script/register');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM