安装&访问本地文件夹作为npm模块

时间:2018-05-03 12:25:05

标签: javascript node.js module dependencies package.json

文件结构如下所示:

([] = something)

我正在尝试将'deploy-abc'安装为主文件夹应用程序中的模块。所以,我跑了:something。它安装正确&我可以在package.json中看到'deploy-abc'依赖关系。

但是,当我尝试访问deploy-abc的导出对象时,我收到节点错误= (main-folder) - package.json - ... = server - index.js - ... = deploy-abc // new server = src - index.js = src - index.js - ... 。例如:在主文件夹的某个文件中:

yarn add "/var/www/main-folder/deploy-abc"

我哪里错了?

2 个答案:

答案 0 :(得分:2)

根据节点文档:isna

  

如果传递给require()的模块标识符不是核心模块,并且不以'/','.. /'或'./'开头,那么Node.js从该目录的父目录开始当前模块,并添加/ node_modules,并尝试从该位置加载模块。

因此,当您的模块现在位于主文件夹中时,您的需求将取决于相对位置。如果您要求const deployAbc = require('../deploy-abc') ,那么您将需要:

index.js

在这种情况下,您也不需要指定实际文件,因为它默认为dabc.js。但是,如果输入文件是{{1}}或其他内容,则还需要在该位置指定。

答案 1 :(得分:1)

您可能必须使用确切的相对路径。例如,const deployAbc = require("../deploy-abc")