node.js - 如何使用 .env Nodejs 设置 NODE_PATH

标签 node.js

这是我的架构:

.
├── app.js
├── package-lock.json
├── package.json
└── src
    ├── controller
    │   └── index.controller.js
    └── route
        └── index.route.js

.env

NODE_PATH=./src

index.route.js

const express = require('express');

const Router = express.Router();

const { root } = require('controller/index.controller');      <--- Failed

Router.get('/', root);

module.exports = {
  Router
};

index.controller.js

const express = require('express');

const root = (req, res) => {
  res.status(200).send('root');
};

console.log('controller');

module.exports = {
  root
};

我想使用带有 NODE_PATH.env 文件来轻松导入 .js 文件中的模块,并避免这种模式 ../../../folder/folder/module.js

但是当我执行node app.js时。 Node 似乎并不关心 .env index.route.js

中出现错误

Error: Cannot find module 'controller/index.controller'

有人可以解释一下为什么 Node 不关心我设置的 NODE_PATH 吗?

谢谢

最佳答案

要访问 .env 文件,请将 process.env.NODE_PATH 分配给如下变量

let temp = process.env.NODE_PATH

现在在你的 require 语句中

require(temp + '/controller/index.controller'); 

注意-我还没有测试过它,但它应该可以工作

关于node.js - 如何使用 .env Nodejs 设置 NODE_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57471528/

相关文章:

javascript - 在multer上传文件之前如何获取正文?

javascript - 使用动态字符串附加 JSON 对象键

用于未调用 NodeJS 嵌套函数的 C++ 插件

javascript - 是否将我的代码包装在 promise 中

node.js - 将 Promise 设置为变量并在稍后使用它

ios - Ionic 平台命令因 'Cannot read property ' split' of undefined' 突然失败

node.js - 有没有办法修复 package-lock.json lockfileVersion 以便 npm 使用特定格式?

javascript - 使用 SQLite3 在 Node js 中为 GET 查询准备语句

javascript - 使用 Node 配置模块进行配置

node.js - socket.io - 为套接字获取多个字段?