【问题标题】:Localhost not working with node js本地主机不使用节点 js
【发布时间】:2015-04-25 08:36:48
【问题描述】:

下面是一个小型服务器(app.js),它只是简单地调用 index.jade 文件来添加 jquery.js、underscore.js 和 backscore.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 时,它显示:Error: Failed to lookup view "views/index.jade"

(本地主机与另一个 node.js 程序正常工作)

请帮忙。非常感谢!

【问题讨论】:

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


    【解决方案1】:

    不要包含.jade

    res.render("views/index");
    

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

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

    app.set('views', path.join(__dirname, 'views'));
    

    在您的 app.js - 这是您的视图的根目录,因此您只需要:

    res.render("index");
    

    【讨论】:

    • 还是同样的错误:错误:无法查找视图“views/index”
    • @VijaySingh -- 编辑了答案。
    • 不起作用,chrome 控制台中的网络选项卡显示文件待处理!
    猜你喜欢
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2021-09-11
    • 2018-09-17
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多