[英]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
目錄的任務,以及一個pretest
和prepublish
任務到package.json
以在測試和發布之前進行構建。
"scripts": { "pretest": "cake build", "prepublish": "cake build", }
此解決方案使我的git存儲庫保持干凈(沒有編譯代碼),但是在發布到npm時將我的JavaScript代碼添加到lib中。
我剛開始使用CoffeeScript,但是我建議以下內容:
src/*.coffee
。coffee中, 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.