如何在meteor中使用非npm node_module?

我只是分叉了一个节点模块并修复了一些问题。 最初的版本是在我的Meteor项目中使用Npm.depends 。 但现在我想用我的分叉版本(直到原来的所有者接受我的拉请求)。

什么是这样做的好方法? 我真的不想把我的分支版本发布到npmjs.org上。

是否有可能在git url上使用Npm.depends?

这里是我提出的一个简单的黑客攻击:

我有我的自定义节点模块位于MyProject / packages / my-package / my-node-module(您需要在本地克隆分叉的节点模块)

在你的包的main.js文件中,你可以像这样使用Npm.require引用你的节点模块:

 console.log(process.cwd()); // this will output something like "/home/user/projects/MyProject/.meteor/local/build/programs/server" var myNodeModule=Npm.require("../../../../../packages/my-package/my-node-module"); 

我们使用父目录语法返回到项目目录,然后引用节点模块的相对path。

我们不需要Npm.depends使用这种技术,这不是很好,但它会做的伎俩。

你可以很容易地把它包装在一个聪明的包里,不需要黑客。

当我遇到一个有用的,被遗弃的模块时,我遇到了同样的问题。 我分叉模块,并将其包装在一个智能包装中。 例:

智能打包我的npm模块的叉子