这是我的架构:
.
├── 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/