node.js - 平均 IO : Config validation error JWT_SECRET is required

标签 node.js mongodb express mean-stack mean

我正在从 mean.io 克隆中建立一个新的 mean 项目。安装 npm 包并启动 mongod 之后。我运行 npm start 它给了我这个错误。

Error: Config validation error: child "JWT_SECRET" fails because ["JWT_SECRET" is required]

这是我的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;

不知道哪里出了问题。我没有改变任何东西我只是从 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

您可能会在您的根目录中找到一个.env.example 文件,您只需将其重命名为.env。可以找到示例 .env.example 文件 here .

关于node.js - 平均 IO : Config validation error JWT_SECRET is required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577709/

相关文章:

使用 mocha 进行测试时 Node.js CronJob 执行

visual-studio-2010 - 在 Windows x64 上安装 node-canvas 平台 x64 无效?

javascript - 为什么这个依赖错误发生在 Linux 而不是 windows?

javascript - Mongoose/Mongodb findOneAndUpdate 同时保留已有内容

javascript - 尝试登录到express和node.js内置的身份验证系统时出现404错误(文件未找到)

node.js - SailsJS 中的自定义记录器

mongodb - Mongo Spark连接器和mongo 3.2,root用户无法读取数据库

r - 如何序列化/反序列化 ggplot 对象以在 R 中与 mongodb 一起使用

node.js - 通过 LESS 在 Twitter Bootstrap 中集成 Font Squirrel 生成的字体

javascript - 在 Express 中手动设置 session ID