在不使用相对路径的情况下,从“node_modules”以外的位置引用NodeJS库

时间:2017-05-17 10:08:41

标签: node.js import npm ecmascript-6 node-modules

假设我有两个NodeJS库文件夹,即“node_modules”和“somename_modules”。后者是存储内部开发的专有库的文件夹。

我知道当我们使用“import”或“require”引用时,默认位置始终指向“node_modules”文件夹驻留在项目中的路径。

我的问题是,我们如何在“somename_modules”所在的位置添加另一个默认位置,这样当我们在ES6源代码中使用“import”或“require”引用时,它将始终检查来自“node_modules”的lib和“somename_modules”?

示例:

import somefunc from 'somelib' //it will search in './node_modules/somelib' and './somename_modules/somelib'

1 个答案:

答案 0 :(得分:0)

我不认为,你可以这样做。

但是您可以在package.js中注册内部库/模块(指向somename_modules文件夹),以便在完成npm安装时它们可以位于node_modules中。然后,import / require语句可以正常工作。

E.g。 可以说,somename_modules文件夹中有一个模块名称'mod1'。即: “/ somename_modules / MOD1”

在package.json中添加以下依赖项:

"dependencies": {
  "mod1": "file:/somename_modules/mod1",
},

在这种情况下,mod1需要遵循npm结构,就像在其中包含package.json文件一样。