Sam*_*ami 5 mean mongodb node.js express mean-stack
我正在从 mean.io 克隆建立一个新的平均项目。安装 npm 包并启动 mongod 后。我运行npm start它给了我这个错误。
Error: Config validation error: child "JWT_SECRET" fails because ["JWT_SECRET" is required]
Run Code Online (Sandbox Code Playgroud)
这是我的 config.js
const Joi = require('joi');
// require and configure dotenv, will load vars in .env in PROCESS.ENV
require('dotenv').config();
// define validation for all the env vars
const envVarsSchema = Joi.object({
NODE_ENV: Joi.string()
.allow(['development', 'production', 'test', 'provision'])
.default('development'),
SERVER_PORT: Joi.number()
.default(4040),
MONGOOSE_DEBUG: Joi.boolean()
.when('NODE_ENV', {
is: Joi.string().equal('development'),
then: Joi.boolean().default(true),
otherwise: Joi.boolean().default(false)
}),
JWT_SECRET: Joi.string().required()
.description('JWT Secret required to sign'),
MONGO_HOST: Joi.string().required()
.description('Mongo DB host url'),
MONGO_PORT: Joi.number()
.default(27017)
}).unknown()
.required();
const { error, value: envVars } = Joi.validate(process.env, envVarsSchema);
if (error) {
throw new Error(`Config validation error: ${error.message}`);
}
const config = {
env: envVars.NODE_ENV,
port: envVars.SERVER_PORT,
mongooseDebug: envVars.MONGOOSE_DEBUG,
jwtSecret: envVars.JWT_SECRET,
frontend: envVars.MEAN_FRONTEND || 'angular',
mongo: {
host: envVars.MONGO_HOST,
port: envVars.MONGO_PORT
}
};
module.exports = config;
Run Code Online (Sandbox Code Playgroud)
不知道问题出在哪里。我没有改变任何一件事,我只是从 mean.io 官方网站上克隆了一个。安装 npm 包并启动 mongodb。
将.env文件添加到根文件夹,内容如下:
NODE_ENV=development
SERVER_PORT=4040
JWT_SECRET=0a6b944d-d2fb-46fc-a85e-0295c986cd9f
MONGO_HOST=mongodb://localhost/mean
MEAN_FRONTEND=angular
Run Code Online (Sandbox Code Playgroud)
您可能会.env.example在根目录中找到一个文件,您只需将其重命名为.env. .env.example可以在此处找到示例文件。
| 归档时间: |
|
| 查看次数: |
3085 次 |
| 最近记录: |