【问题标题】:NodeJs require, custom module, path,NodeJs 需要,自定义模块,路径,
【发布时间】:2019-01-15 16:43:14
【问题描述】:

我想在下面寻求帮助。可能是重复的,但没有找到解决方案。 我在 2 个不同的路径中有以下 2 个文件。 一个路径:Root/AppleRoot/Apple.js B路径:Root/PeachRoot/Peach.js

在 Peach.js 中;

module.exports.harvest = harvest;
function harvest(input, callback){
}

在 Apple.js 中我想从 Peach.js 导入收获函数

const harvestApple= require("../PeachRoot/Peach").harvest;

当我尝试运行代码时,它会显示以下内容:

Error:
Unable to import module

如果我将 Peach.js 放在同一文件夹中或 AppleRoot 下方并更改路径,我导入模块没有问题。

我错过了什么? 一定有办法从不同目录导入模块

研究课题: Link1Link2Link3Link4Link5

【问题讨论】:

  • 除非 Peach.js 与项目无关,为什么要放在项目文件夹之外?
  • 想象一个大项目,我们有一个集中的模块位置,并且目录结构至少有 7 层深度。这与现实生活中的项目无关,但是能够从任何地方导入模块,如果这在 NodeJS 中是可能的,那就太好了
  • 在这种情况下,我建议您设置一个外部存储库,例如 nexus,或者从您选择的 git 存储库中提取单独的模块。
  • 我会考虑的谢谢 :)

标签: node.js require


【解决方案1】:

如果你想在项目中使用某些东西,Node.js 必须意识到它,所以要么使用文件中的完整路径目录,要么在你的 package.json 文件中声明它:

{
 “name”: “harvestApp”,
 “dependencies”: {
   “Peach”: “file:/User/workspace/PeachRoot”,
   “Apple”: “file:/User/workspace/AppleRoot”,
 }
}

【讨论】:

  • 谢谢!不错!
  • 你好,这个 package.json 文件在项目中的位置,你也使用任何类型的 npm 命令吗?您如何将其包含在 json 文件中?
  • 在本例中,您将使用npm install /User/workspace/PeachRoot,您可以提供相对路径或完整路径。 npm 会解析相对路径,并将其作为相对路径放入 package.json 中。因此,手动包含路径可能更容易。当您在手动添加路径后运行npm install 时,无论如何都会安装它。
猜你喜欢
  • 1970-01-01
  • 2018-10-19
  • 2019-03-17
  • 2012-09-20
  • 2012-09-03
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多