我使用的是 Windows 10 x64。 我使用 dropbox 来保存所有项目,而在 dropbox 文件夹中包含“node_modules”文件夹是一场灾难。
首先,并非所有 npm 包都以允许 this method 的方式工作。 ,因为正如第一行所说“不以 '/'、'../' 或 './' 开头”,所以我认为这是行不通的。
因此,我尝试创建 syslink,但正如我所发现的,Windows 不允许为文件夹创建真正的硬链接(hard link),只能为文件创建真正的硬链接(hard link)。
我创建文件夹连接的方法是在每个项目文件夹中包含此 bat 文件,并以管理员身份运行它。
SET dest=%~dp0node_modules
SET src=F:\work\node_modules
MKLINK /J %dest% %src%
bat 文件可以工作,它创建了 syslink,但出现了 3 个问题。
最佳答案
我不会尝试使用联结,它们很难使用,并且如果您不知道自己在做什么,可能会导致数据丢失。
相反,您可以采用以下方法。
创建一个包含模块路径的 json 配置文件:
{"modules_root": "F:/work/node_modules/"}
在您的代码中,加载此 json 并通过在配置文件中添加路径来引用您的模块:
var fs = require("fs");
var modules_root = JSON.parse(fs.readFileSync("modules_root.json")).modules_root;
var express = require(modules_root + "./express")
如果您决定使用本地模块,您只需将配置文件更改为:
{modules_root: "./node_modules/"}
关于node.js - 如何跨项目共享 npm 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49402684/