NodeJs - 将index.ejs保留在根文件夹中而不是视图文件夹

时间:2018-04-03 12:38:22

标签: node.js express ejs

我正在运行一个非常简单的节点应用程序。我在我的根文件夹中有app.js,在views文件夹中有我的index.ejs,contact.ejs和about.ejs。

当我在我的本地主机上运行它时,它就像一个魅力。我试图将应用程序放到a2hosting但是a2hosting它根本找不到index.ejs文件但是如果我导航到a2hosting上的about或contact我完全看到它们。

如何将index.ejs移动到我的根文件夹,我怀疑它是a2hosting的问题。

这是我的app.js文件:

    var express             = require("express"),
      app                   = express();

app.set("view engine", "ejs");

// app.use(express.static(__dirname + '/public'));
const path = require('path');
app.use(express.static(path.join(__dirname, 'public')));

app.use('/css', express.static('css'));

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

app.get("/contact", function(req, res){
    // res.send("You have reached the contact page");
    res.render("contact");
});

app.get("/about", function(req, res){
    // res.send("You have reached the contact page");
    res.render("about");
});

app.listen(3000, process.env.IP, function(){
    // process.env.PORT
  console.log("Wayne's Server has started");
});

我尝试将index.ejs文件移动到根文件夹并尝试更改

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

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

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

但我无法让它发挥作用。我假设一旦我在本地主机上工作,我应该让它在网络托管服务上工作。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

您必须创建views文件夹,并在该文件夹内创建文件。 您的项目结构应该是:

ProjectDemo 
  - models
    - xyz.js
  - views
    - index.ejs
    - about.ejs
    - contact.ejs
  - routes
    - routes.js
  - index.js