Localhost不使用节点js

时间:2015-02-23 21:18:50

标签: javascript node.js backbone.js express pug

以下是一个小型服务器(app.js),它只是调用index.jade文件来添加jquery.js,underscore.js和backbone.js供以后使用。
但它不起作用。

我的目录结构是:

 base
    app.js
    public
          jquery.js
          underscore.js
          backbone.js
          theapp.js
    views
          index.jade

我的app.js文件是:

var express= require("express"),
    http   = require("http"),
    path   = require("path");

var app= express();

app.use(express.static(__dirname+ "/public"));

app.get("/", function(req, res){
    res.render("views/index.jade");
});

app.listen(3000);

我的index.jade文件是:

#main

script(src= "jquery.js")
script(src= "underscore.js")
script(src= "backbone.js")
script(src= "theapp.js")

当我在浏览器中运行localhost:3000时,它会说:错误:无法查找视图“views / index.jade”

(Localhost与另一个node.js程序正常工作)

请帮忙。非常感谢!

1 个答案:

答案 0 :(得分:2)

不要包含.jade

res.render("views/index");

假设您的视图引擎已设置为使用Jade。 (app.set('view engine', 'jade');

您也可能不需要指定“views”文件夹,检查行

app.set('views', path.join(__dirname, 'views'));
你的app.js中的

- 这是你的观点的根目录,所以你只需要:

res.render("index");