在我的'投资组合中使用express.js设置Node.js'现场

时间:2017-07-07 19:29:33

标签: html node.js express

我对node.js完全陌生,但我试图在我的个人网站上实现它,以便我开始学习它。我有节点服务器正在运行,但我正在尝试使用express.js设置路由。我的所有文件都是典型的静态文件.html,.js,.cs,.png等。目前,该路由为我提供了我家的索引页面' home' goo的页面。如果我尝试导航到另一个节目的索引,我只是得到404错误页面。我的文件结构是这样的:

Server.js 的package.json node_modules   - views(文件夹)     -index.html(视图中的文件)     --Projects(视图中的文件夹)       -index.html(项目中的文件)

我的Server.js看起来像

var express = require("express");
var app = express();
var router = express.Router();
var path = __dirname + '/views/';

router.use(function (req, res, next) {
    console.log("/" + req.method);
    next();
});

router.get("/", function (req, res) {
    res.sendFile(path + "index.html");
});

router.get("/Projects", function (req, res) {
    res.sendFile(path + "Projects/index.html");
});

app.use("/", router);

/*app.use("*", function (req, res) {
    res.sendFile(path + "404.html");
});*/

app.listen(3000, function () {
    console.log("Live at Port 3000");
});

我已经在各种资源中寻找过去~18小时,我只是错过了一些我确定的东西。我目前对这个问题的看法是html中的导航链接,但是我试图改变那些没有进展的链接。

1 个答案:

答案 0 :(得分:0)

如果您只有公共文件(如html,css,..),则可以将所有内容放在/public文件夹中,然后添加此文件而不是路由器。

app.use(express.static('public'))

Doc:https://expressjs.com/en/starter/static-files.html

每个文件都可以访问:

/public/my-folder/my-file.png> www.my-dmain.com/my-folder/my-file.png