什么是一种无痛的方式,需要"模块不在你的node_modules /文件夹中?

时间:2017-04-03 20:36:33

标签: node.js npm

我有一些javascript文件可以导出我的应用中使用的一些常用功能。我希望能够通过编写var example = require('example')而不是var example = require('../local_modules/example')

来导入这些文件

如何在不将其添加到npm注册表的情况下完成此操作?他们必须保持私密。

2 个答案:

答案 0 :(得分:0)

一种方法是创建路径映射。例如

var pathmapping = {
    example: '../local_modules/example'
    ...other pathes...
}

然后通过

访问它们
require(pathmapping[example])

答案 1 :(得分:0)

您可以将../local_modules的完整路径添加到$NODE_PATH

如果您使用的是Unix类型的操作系统:

NODE_PATH=$NODE_PATH:/full/path/to/local_modules

如果你是从shell的启动文件中执行此操作,那么它就会"坚持"。

但是,理想情况下,您应该始终将模块保留在项目的本地,因此在./node_modules中。如果您的本地模块是正确的包(如果没有,您应该考虑从它们制作包,这不是太困难),只需将它们安装在那里:

npm i ../local_modules/your-module