Node 中的开发环境与生产环境 和 使用Morgan打印请求信息
生活随笔
收集整理的這篇文章主要介紹了
Node 中的开发环境与生产环境 和 使用Morgan打印请求信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是開發環境與生產環境
環境,就是指項目運行的地方,當項目處于開發階段,項目運行在開發人員的電腦上,項目所處的環境就是開發環境。當項目開發完成以后,要將項目放到真實的網站服務器電腦中運行,項目所處的環境就是生產環境。
二、為什么要區分開發環境與生產環境
因為在不同的環境中,項目的配置是不一樣的,需要在項目代碼中判斷當前項目運行的環境,根據不同的環境應用不同的項目配置。
三、如何區分開發環境與生產環境
通過電腦操作系統中的系統環境變量區分當前是開發環境還是生產環境。
四、Morgan是一個node.js關于http請求的日志中間件
app.js :
// 引用express框架 const express = require('express'); // 處理路徑的模塊 const path = require('path'); // 引入body-parser模塊 用來處理post請求參數 const bodyParser = require('body-parser') // 引入 express-session模塊 const session = require('express-session') // 引入 art-template模板引擎 const template = require('art-template') // 引入dateformate第三方模塊 const dateFormate = require('dateformat')const morgan = require('morgan')// 創建網站服務器 const app = new express()// 數據庫連接 require('./model/connect.js')// 處理post請求參數 app.use(bodyParser.urlencoded({extended: false}))// 配置session app.use(session({secret: 'zepzep'}))// 開放靜態資源文件 var static_path = path.join(__dirname, 'public') app.use(express.static(static_path))// 獲取系統環境變量,返回值是對象 // console.log(process.env.NODE_ENV) if(process.env.NODE_ENV == "development") {// 當前是開發環境 將客戶端發送到服務器端的請求信息打印到控制臺中console.log('當前是開發環境')// 在開發環境中app.use(morgan('dev')) } else {// 當前是生產環境console.log('當前是生產環境') }// 告訴express框架模板所在的位置 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html') // 當渲染后綴為html的模板時,所使用的模板引擎是什么 // 設置模板引擎的后綴名為html app.engine('html', require('express-art-template'))// 向模板內導入dateFormate變量 template.defaults.imports.dateFormate = dateFormate// 引入路由模塊 const home = require('./route/home.js') const admin = require('./route/admin.js')// 寫在路由之前 // 攔截請求 判斷用戶登錄狀態 app.use('/admin', require('./middleware/loginGuard.js'))// 為路由匹配請求路徑 app.use('/home', home) app.use('/admin', admin)// 錯誤處理中間件 app.use((err, req, res, next) => {// JSON.parse() 將字符串對象轉換為對象類型const result = JSON.parse(err)let params = []for(let attr in result) {if(attr != 'path') {params.push(attr + '=' + result[attr])}}res.redirect(`${result.path}?${params.join('&')}`) })// 監聽端口 app.listen(3000) console.log('網站服務器啟動成功,請訪問http://127.0.0.1:3000/')每次http請求,express實例都會輸出日志,并且使用一致的格式
總結
以上是生活随笔為你收集整理的Node 中的开发环境与生产环境 和 使用Morgan打印请求信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手写实现简单的Vue事件总线
- 下一篇: leetcode 高薪_LeetCode