如何使用.env Node.js设置NODE_PATH

时间:2019-08-13 05:20:40

标签: 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
};

我想将 .env 文件与 NODE_PATH 一起使用,以轻松地将模块导入我的.js文件,并避免使用这种类型的 ../ ../../ folder / folder / module.js

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

中发生错误
  

错误:找不到模块'controller / index.controller'

有人可以向我解释为什么节点不关心我设置的NODE_PATH吗?

谢谢

2 个答案:

答案 0 :(得分:0)

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

let temp = process.env.NODE_PATH

现在在您的require语句中

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

注意-我尚未测试过,但它应该可以工作

答案 1 :(得分:0)

使用dotenv来使用.env文件。查看dotenv

上的文档