我对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中的导航链接,但是我试图改变那些没有进展的链接。
答案 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