我已经看过解决方案here,尽管这是将参数传递给模块的正确解决方案,但我的要求是将诸如参数之类的命令从bin / www传递到app.js到模块。 这是在WebStorm中创建的项目,该项目的启动脚本为bin / www。
我有一个传统的NodeJS项目结构,该应用程序从bin / www开始,该应用程序调用app.js,而app.js具有路由器模块。
启动脚本是bin / www,我无法更改,我想将参数(配置文件的路径)传递给路由器模块。
在不显着更改文件结构的情况下实现此目标的最佳方法是什么?
app.js具有以下结构:
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index')(path_config_file);
var usersRouter = require('./routes/users');
var app = express();
module.exports = app;
正如我所展示的,我想将path_config_file传递给路由/索引模块,该模块将作为命令行参数传递。
我无法启动app.js
,因为该项目具有现有的CI / CD,并且我无法更改该过程。
我需要能够将参数传递为node bin/www path_config_file
并将其传递给app.js
。
谢谢。
答案 0 :(得分:0)
基本上,您需要读取保存这些process.argv
参数的command line
变量。请查看下一篇文章的答案: