这是我的体系结构:
.
├── 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
};
我想将 .env 文件与 NODE_PATH 一起使用,以轻松地将模块导入我的.js文件,并避免使用这种类型的 ../ ../../ folder / folder / module.js
但是,当我执行 node app.js 时。 Node似乎并不在乎.env index.route.js
中发生错误错误:找不到模块'controller / index.controller'
有人可以向我解释为什么节点不关心我设置的NODE_PATH吗?
谢谢
答案 0 :(得分:0)
要访问.env文件,请将process.env.NODE_PATH分配给以下变量
let temp = process.env.NODE_PATH
现在在您的require语句中
require(temp + '/controller/index.controller');
注意-我尚未测试过,但它应该可以工作
答案 1 :(得分:0)
使用dotenv来使用.env文件。查看dotenv
上的文档