我在這裏有一些問題。我不知道爲什麼會發生這種情況。我把時間戳代碼與Moment.js庫,不僅與該庫,最近我手動創建顯示時間戳,但當我發送請求,時間沒有更新。 我把datetime放在我的文件路徑中。但是這是在服務器文件中的工作。在Express中顯示每個請求的日誌時間?
因此,例如
server.js
var express = require('express')
var app = express()
var moment = require('moment')
app.use(function(req, res, next){
console.log(moment().format('HH:mm:ss') + ' From server.js') //Showing time now
next();
})
app.use('/', index)
app.listen(8001)
路線/ index.js
var express = require('express')
var app = express()
var router = express.Router()
var moment = require('moment')
var timestamps = moment().format('HH:mm:ss')
router.get('/', function(req, res){
console.log(timestamps + ' From routes/index.js')
})
module.exports = routes
而且我開始測試我的第一次 GET本地主機的代碼: 8001/
顯示16點20分51秒
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ./bin/www`
16:20:51 From Server.js
16:20:51 From routes/index.js
和第二請求我的系統時間,我的系統時間顯示16點22分52秒
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ./bin/www`
16:22:52 From Server.js
16:20:51 From routes/index.js
不,第二個請求仍然得到來自第一次請求現有的時間日誌,這隻發生在路線上。但在server.js中工作良好
是否發生這種情況是因爲函數外可變的時間戳?但是,當我沒有變量運行,它的工作。
router.get('/', function(req, res){
console.log(moment().format('HH:mm:ss') + ' From routes/index.js')
})
爲什麼這是可以發生的事情? 謝謝
啊我明白了,反正很好的解釋。它工作+1 謝謝:D –