繁体   English   中英

如何使用 .env Nodejs 设置 NODE_PATH

[英]How to set NODE_PATH using .env Nodejs

这是我的架构:

.
├── 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
};

我想在我的.js文件使用一个文件.ENVNODE_PATH轻松导入模块,并避免那些一种模式../../../folder/folder/module.js

但是,当我执行node app.js 时 Node 似乎并不关心 .env 在index.route.js 中发生错误

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

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

谢谢

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

let temp = process.env.NODE_PATH

现在在您的require语句中

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

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

使用dotenv来使用.env文件。 查看dotenv上的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM