繁体   English   中英

如何在流星中使用非npm node_module?

[英]How to use a non-npm node_module in meteor?

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

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

是否可以使用Npm.depends取决于git url?

这是我想出的一个快速技巧:

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

在软件包的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");

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

我们不需要使用此技术的Npm.depends,虽然不是很好,但是可以解决问题。

您可以轻松地将其包装在一个智能包中,而无需黑客入侵。

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

智能打包我的npm模块的分支

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM