NodeJS 不同项目的单一依赖目录

uelo1irk  于 12个月前  发布在  Node.js
关注(0)|答案(1)|浏览(120)

我正在做一些非常小的Node.js项目。希望有一个单独的节点模块目录,以便所有这些项目可以从同一位置要求。我尽量减少存储空间。在许多小的“教程项目”上工作,多次安装同一个模块似乎很愚蠢。
下面是示例结构

├── shared_directory
│   ├── node_modules
│   ├── package.json
│   └── package-lock.json
├── project_1
│   ├── app.js
│   ├── index.html
│   └── style.css
├── project_2
│   ├── app.js
│   ├── index.html
│   ├── style.css

看起来我用错误的属性或错误的路径调用require()。

// project_1 app.js

const express = require("../shared_directory/express");
const bodyParser = require("../shared_directory/body-parser");
Error: Cannot find module '../shared_directory/express'
i5desfxk

i5desfxk1#

你可以使用npm来管理多个包,它允许你在一个顶级根包中管理多个包或项目。
每个包都有自己的package.json文件。它足够聪明,可以扫描你的文件夹,寻找所有要安装的依赖项。您还可以在根级别定义依赖项,并且它们可以在工作区中的所有包之间共享。

root
│ node_modules
│ package.json
│ package-lock.json
├── project_1
│   ├── app.js
│   ├── package.json # Dependencies: lodash
│   └── style.css
├── project_2
│   ├── app.js
│   ├── package.json # Dependencies: lodash
│   ├── style.css

您可以轻松地找到在项目中在线设置工作区的方法
参考号:https://docs.npmjs.com/cli/v7/using-npm/workspaces

相关问题