我正在开发一个模块,并将控制器以及路由和视图放入该模块中。我正在导出路由和一个名为configure()的函数。
configure():您在app.js中调用此函数,并将配置传递给模块,然后此函数将其写入JSON文件。我正在我的app.js中进行此操作。
const express = require("express");
const path = require('path');
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const logger = require("morgan");
const authPackage = require('auth-package');
const routes = require('./routes/index');
const app = express();
const {
port,
dbUrl,
authPackageConfig
} = require('./config/config'); //this is the configuration of the app which is using the package.
//configuring auth package
authPackage.configure(authPackageConfig);
现在模块中有一个config.js文件。它读取由configure()函数编写的JSON文件并导出。控制器文件需要config.js。 config.js是
const fs = require('fs');
const path = require('path');
let config = null;
try {
config = fs.readFileSync(path.join(__dirname + '/config.json'), 'utf8');
} catch (error) {
throw error;
}
config = JSON.parse(config);
module.exports = config;
启动应用程序时,即使将配置对象传递给configure()函数,它也会崩溃。由于config.json文件为空而崩溃。在配置功能写入配置文件之前,应用会崩溃。我该如何解决?那个configure()函数在controll需要它之前先写入文件。