javascript
  • node.js
  • express
  • pug
  • 2017-04-25 77 views 1 likes 
    1

    所有的頁面,我嘗試了,帕格同快遞使用通用佈局的哈巴狗

    views/layout.pug 
    
    doctype html 
    html 
        head 
        title= title 
        link(rel="shortcut icon", href="favicon.ico", type="image/x-icon") 
        link(rel='stylesheet', href='/assets/application.css') 
        link(rel='stylesheet', href="assets/libs/bootstrap/dist/css/bootstrap.min.css") 
        body  
        script(src="assets/libs/jquery/dist/jquery.min.js") 
        script(src='assets/libs/bootstrap/dist/js/bootstrap.min.js') 
        script(src="assets/application.js") 
        block content 
    

    這是用戶頁面的路由器。

    routes/user.js 
    
    var express = require('express'); 
    var router = express.Router(); 
    
    /* GET users listing. */ 
    router.get('/', function(req, res, next) { 
        res.render('user/index'); 
    }); 
    
    module.exports = router; 
    

    我有我的用戶/索引頁面的視圖。我從視圖擴展布局。用戶索引頁面使用佈局。 layout.pug存在於視圖文件夾中。

    如果我在views/user中添加一個layout.pug,它就可以工作。但如何使用views/layout.pug

    /views/user/index.pug 
    
    extends layout 
    
    
    block content 
        h1 
        | User index 
    

    我得到以下錯誤。它正在查看/用戶文件夾中尋找佈局。如何讓它使用view/layout.pug。

    Error: ENOENT: no such file or directory, open 'C:\my_projects\myexpressapp\views\user\layout.pug' 
        at C:\my_projects\myexpressapp\views\user\index.pug line 1 
        at Error (native) 
        at Object.fs.openSync (fs.js:640:18) 
        at Object.fs.readFileSync (fs.js:508:33) 
        at Function.read (C:\my_projects\myexpressapp\node_modules\pug-load\index.js:69:13) 
        at Object.read (C:\my_projects\myexpressapp\node_modules\pug\lib\index.js:147:25) 
        at C:\my_projects\myexpressapp\node_modules\pug-load\index.js:24:25 
        at walkAST (C:\my_projects\myexpressapp\node_modules\pug-walk\index.js:23:18) 
        at C:\my_projects\myexpressapp\node_modules\pug-walk\index.js:104:20 
        at Array.reduce (native) 
        at walkAndMergeNodes (C:\my_projects\myexpressapp\node_modules\pug-walk\index.js:103:18) 
    
    +0

    由於錯誤說,該文件layout.pug是不是在正確的導入位置 – georoot

    +0

    如果添加layout.pug內部的意見/用戶它的工作原理。但如何使用views/layout.pug – praga2050

    +1

    嘗試'擴展../佈局' – georoot

    回答

    -1
    +0

    app.set('views',path.join(__ dirname,'views')); 我在我的server.js。 – praga2050

    +0

    你試過這個'app.locals.basedir = app.get('views');'?一旦你設置了變量,你可以使用'extends/layout' * pas必須以「/」*開頭。 – senta

    相關問題