6. 开发环境与生产环境

如何区分开发环境与生产环境

通过电脑操作系统中的系统环境变量区分当前是开发环境还是生产环境。

电脑→属性

对开发环境和生产环境进行不同的操作:

开发环境中把客户端的请求信息打印到控制台

7. 第三方模块config

(1)把配置信息从项目中抽离到单独的文件中:

使用步骤

1.   使用npm install config命令下载模块
2.  在项目的根目录下新建config文件夹
3.  在config文件夹下面新建default.json、development.json、production.json文件
4.  在项目中通过require方法,将模块进行导入
5.  使用模块内部提供的get方法获取配置信息

1.    使用npm install config命令下载模块

2.    在项目的根目录下新建config文件夹

3.    在config文件夹下面新建default.json、development.json、production.json文件

4.    在项目中通过require方法,将模块进行导入

5.    使用模块内部提供的get方法获取配置信息

切换回开发环境

connect.js:

// 引入mongoose第三方模块
const mongoose = require('mongoose');
// 导入config模块
const config = require('config');
console.log(config.get('db.host'))
// 连接数据库
mongoose.connect(`mongodb://${config.get('db.user')}:${config.get('db.pwd')}@${config.get('db.host')}:${config.get('db.port')}/${config.get('db.name')}`, {useNewUrlParser: true }).then(() => console.log('数据库连接成功')).catch(() => console.log('数据库连接失败'))

验证:网站能够成功登录和展示信息

获取配置信息:

config:

(2)将敏感配置信息存储在环境变量中

项目中有些敏感信息,如数据库的账号密码等,把项目发送给别人,别人能登陆修改数据库,不安全

1.   在config文件夹中建立custom-environment-variables.json文件
2.  配置项属性的值填写系统环境变量的名字
3.  项目运行时config模块查找系统环境变量,并读取其值作为当前配置项属于的值

1.    在config文件夹中建立custom-environment-variables.json文件

2.    配置项属性的值填写系统环境变量的名字

3.    项目运行时config模块查找系统环境变量,并读取其值作为当前配置项属于的值

验证:网页可以进行登录等操作

黑马博客——详细步骤(十)项目功能的实现之开发环境与生产环境相关推荐

  1. 黑马博客——详细步骤(二)项目功能的实现之登录功能

    2. 项目功能实现 2.1 登录 1. 创建用户集合,初始化用户               1.    连接数据库               2.    创建用户集合               ...

  2. 黑马博客——详细步骤(九)项目功能的实现之mongoDB数据库添加账号

    5. mongoDB数据库添加账号 1. 以系统管理员的方式运行powershell 2. 连接数据库 mongo 3. 查看数据库 show dbs 4. 切换到admin数据库 use admin ...

  3. 黑马博客——详细步骤(七)项目功能的实现之文章管理

    3.文章管理 1.添加文章管理和文章编辑页面路由: 验证两个静态页面能否被访问 2.实现点击切换导航栏功能: 3.更改连接的选中状态 实现文章管理功能:(基于数据库) 创建文章集合->添加文章具 ...

  4. 黑马博客——详细步骤(六)项目功能的实现之用户信息删除

    2.5 用户信息删除 1. 在确认删除框中添加隐藏域用以存储要删除用户的ID值 2. 为删除按钮添自定义属性用以存储要删除用户的ID值 3. 为删除按钮添加点击事件,在点击事件处理函数中获取自定义属性 ...

  5. 黑马博客——详细步骤(五)项目功能的实现之用户信息修改

    2.4 用户信息修改 1. 将要修改的用户ID传递到服务器端(作用:区分添加用户功能还是修改用户功能) 2. 建立用户信息修改功能对应的路由 点击修改按钮 能看到用户信息 点击修改按钮 解决方式: 其 ...

  6. 黑马博客——详细步骤(四)项目功能的实现之数据分页

    2.3 数据分页 当数据库中的数据非常多是,数据需要分批次显示,这时就需要用到数据分页功能. 分页功能核心要素: 当前页,用户通过点击上一页或者下一页或者页码产生,客户端通过get参数方式传递到服务器 ...

  7. 黑马博客——详细步骤(三)项目功能的实现之新增用户

    2.2新增用户 1. 为用户列表页面的新增用户按钮添加链接 2. 添加一个连接对应的路由,在路由处理函数中渲染新增用户模板 3 .为新增用户表单指定请求地址.请求方式.为表单项添加name属性 4. ...

  8. 黑马博客——详细步骤(八)项目功能的实现之另一种分页方式【mongoose-sex-page】

    4.另一种分页方式:mongoose-sex-page(第三方模块) 上一页和下一页

  9. 黑马博客——详细步骤(十二)项目功能的实现之文章评论和退出功能

    8.文章评论 1. 创建评论集合 2. 判断用户是否登录,如果用户登录,再允许用户提交评论表单 3. 在服务器端创建文章评论功能对应的路由 4. 在路由请求处理函数中接收客户端传递过来的评论信息 5. ...

最新文章

  1. ListFileItem fileItems=sfu.parseRequest(request); fileitems 为,空
  2. 重装IE后,ASP.NET无法按F5启动项目的解决方法
  3. kohana中的路由规则
  4. Eclipse异常关闭启动不了的问题
  5. 使用组件化开发思路替换 SAP Spartacus 的 Logo
  6. PAT_B_1012_Java(20分)
  7. jupyter notebook常用命令
  8. struts的体系结构
  9. 软件、硬件版本号命名规范
  10. Qt 内嵌浏览器几种办法
  11. 理解SSD核心技术FTL
  12. Cypress系列(21)- 可操作类型的命令 之 check()、uncheck()
  13. 登陆qq邮箱网络未连接到服务器,QQ邮箱无法登陆解决方法图文教程
  14. 断层约束的等值线追踪
  15. 英语八大句子成分之一 - 状语
  16. java自定义封装一个方法_Java自定义套件封装教程
  17. 接口管理系统 eoLinker-AMS 开源版 V3.5.0 发布更新
  18. 高光谱成像的传感器和相机要求
  19. 对项目经理而言,PMP是否对职业生涯的发展有帮助?
  20. 怎么将手机里的PDF文件转成图片

热门文章

  1. 用 Markdown 写作(一)——添加文章页内导航
  2. 比ISA更简单的监管利器,谈谈关于公司上网监管的一点事儿
  3. 怎样用调用资源管理器explore.exe打开指定的文件夹
  4. cubemx spi 中断_STM32 SPI在使用中断时丢弃数据
  5. jsp校园二手交易平台的设计答辩PPT模板
  6. Windows恶搞脚本,太实用了医院WiFi很快
  7. 小数的初步认识ppt_三年级数学知识点总结-10小数的初步认识
  8. python元祖组成字典_Python基础之元组和字典
  9. php无参rce,php中无参函数的RCE
  10. 大端模式、小端模式、网络字节顺序与主机字节顺序