更好的coffeescript解决方法来加载此node.js模块

时间:2015-11-08 02:56:40

标签: javascript node.js coffeescript

我想使用此node.js模块https://github.com/mlin/node-assert-type

根据文档,声明模块;

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

在实际操作中,这不起作用。出现一些coffeescript错误。

我必须做出以下解决方法;

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。我是以正确的方式做到的吗?

通常的做法是为使用咖啡脚本的node.js模块添加一行来加载coffeescript吗?

1 个答案:

答案 0 :(得分:3)

这不是正常的做法。我的意思是,coffeescript安装是不可避免的,因为它是一个依赖项,但模块的用户不应该担心它。

我刚看了assert-type的源代码,这就是我发现的:

  1. 该项目已有3年历史。那太多了!

  2. package.json列出coffeescript作为依赖关系,但它使用latest而不是锁定coffeescript版本,这是一种可怕的做法。

  3. 我的猜测是它改变的是coffeescript模块,而不是需要require('coffeescript'),现在需要require('coffeescript/register')。 (看看回购中的index.js

  4. 基于此我说你写这条线很好。更好的选择是在node-assert-type回购中进行更改并提交带有#2和#3修复的PR。

    希望有所帮助。