node:express:error---填坑之路
生活随笔
收集整理的這篇文章主要介紹了
node:express:error---填坑之路
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
express版本4.0之后需要安裝的東西
npm install -g express npm install -g express-generatorjade轉換成ejs(修改為html引擎,打開app.js ,若ejs引擎就不需要改動,但是所有html文件只可以sendFile,不能render將view engine的代碼替換如下):
需要替換的:
// view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade');方法一:
方法二:
app.engine('.html', require('ejs').renderFile); app.set('view engine', 'html');?注:如沒有ejs依賴,請npm install ejs
?
關于Error: Failed to lookup view "error" in views directory "D:\WebProgram\webBlog\views"的解決方法:
運行nodejs,發現有這個錯誤:
Failed to lookup view "error" in views directory這個錯誤是因為我們配置了html模板,而之前是用的jade,所以后臺出錯后會去找error.jade,但此時這個模塊已經不存在了,所以不可用,查找不到。
如何解決這個問題,其實很簡單,在views里新建一個error.html,就不會拋出異常了。
但這樣不會解決根本問題,錯誤無法捕獲
//app.js app.use(function(err, req, res, next) {// set locals, only providing error in developmentres.locals.message = err.message;res.locals.error = req.app.get('env') === 'development' ? err : {};// render the error pageres.status(err.status || 500);res.render('error'); });app.js里是這段代碼進行的錯誤捕獲,所以,如果簡單點的話,直接在這里面把錯誤打印出來即可
//app.js app.use(function(err, req, res, next) {// set locals, only providing error in development console.log(err.message);});這樣,就能成功打印出錯誤信息了
?
轉載于:https://www.cnblogs.com/yjq1021/p/7682255.html
總結
以上是生活随笔為你收集整理的node:express:error---填坑之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 调集群,我的姿势不对,好累!
- 下一篇: AD初体验