2015-11-08 27 views
1

我想用這個Node.js的模塊https://github.com/mlin/node-assert-type更好的CoffeeScript解決方法,以加載此Node.js的模塊

基於文檔,聲明模塊;

var ty = require("assert-type"); //https://github.com/mlin/node-assert-type 
var T = ty.Assert; 

在實際操作中,這是行不通的。出現一些咖啡標記錯誤。

我必須做出以下解決方法;

var cs = require("coffee-script/register");//this line needed to require("assert-type") 
var ty = require("assert-type"); //https://github.com/mlin/node-assert-type 
var T = ty.Assert; 

要使用這個模塊,我不得不與npm install -g coffeescript安裝CoffeeScript的。

有沒有辦法省略這行var cs = require("coffee-script/register");?畢竟,模塊本身在本地使用coffeescript。我是否正確地做這件事?

添加一行以加載使用coffee-script的node.js模塊的coffeescript是否正常嗎?

回答

3

這不是正常的做法。我的意思是,因爲它是一個依賴項,所以安裝coffeescript是不可避免的,但是模塊的用戶不應該擔心它。

我只花了快看看assert-type的源代碼,這是我發現:

  1. 該項目是3歲。好多啊!

  2. package.json是上市coffeescript的依賴,但它是用latest,而不是鎖定版本的CoffeeScript的這是一個可怕的做法。

  3. 我的猜測是它改變的是coffeescript模塊,而不是需要require('coffeescript')您現在需要require('coffeescript/register')。 (您可以在回購看看index.js

基礎上,我會說這是好的,你寫這條線。更好的選擇是在node-assert-type回購庫中進行更改,並提交帶有#2和#3修復程序的PR。

希望有所幫助。

相關問題