我使用Nodes.js Express来做我的路线。
对于正常的... localhost:8080 /订购它的工作井。但我尝试使用ID方法localhost:8080 / Order / ID-12345使用get方法并继续ViewOrder.html来执行该功能。但它显示出一些错误。
错误
无法加载资源:服务器响应状态为404(未找到)
localhost:1337 / 订单 /img/p7.jpg
无法加载资源:服务器响应状态为404(未找到) 本地主机:1337 / 订单 /css/bootstrap.min.css
等等。
而不是 本地主机:1337 / CSS / bootstrap.min.css// Index Page
app.get('/Order', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.get('/Orders/:item', function (req, res) {
res.sendFile(__dirname + '/ViewOrder.html');
});
订单和订单不是目录。我使用了部分路线 code
答案 0 :(得分:1)
在你的文件server.js(启动你的应用程序的文件)中你设置了静态目录吗?
对我而言,这可以解决您的问题:
var app = express();
app.use('/Orders', express.static(__dirname));
此设置为项目设置静态文件。
有关详情,请访问express static resources
答案 1 :(得分:0)
如果您希望html页面加载css / js资产,则需要将它们作为静态文件提供(文档:http://expressjs.com/en/starter/static-files.html)
答案 2 :(得分:0)
由于您尚未指定静态文件夹,因此无法加载图片和引导程序文件。
app.use('/media', express.static(__dirname + '/media'));
使用此功能,可以通过/media/img/p7.jpg
引用媒体文件夹中的所有文件来请求它们。
您也可以更改请求路径:
app.use('/static', express.static(__dirname + '/your/real/path'));
因此,您可以将它们称为/static/img/p7.jpg
。
答案 3 :(得分:0)
Yep! You need to specify your static folders in order serve static files.
So in your case i would do this to your server.js ;)
var express = require('express'),
app = express(),
http = require('http').Server(app);
const ipaddress = "127.0.0.1";
const port = 1337;
app.use(express.static(__dirname + '/Order'));
app.use(express.static(__dirname + '/Orders'));
app.get('/', function (req, res) {
res.sendFile('index.html', {"root": __dirname});
});
app.get('/:id', function (req, res) {
var param=req.params.id;/// hu! gotcha little param
res.sendFile('Orders/index.html', {"root": __dirname});
});
http.listen(port, ipaddress, function () {
console.log((new Date()) + ' Server is listening on port' + port);
});
UPDATE - according to comment (Actually Order is not a directory, I use Order as route to linked to directory – Brian)
Pretend a public folder would be your root/static this would be my second attempt
app.use(express.static(__dirname + '/public'));
app.get('/Order', function (req, res) {
res.sendFile('public/index.html', {"root": __dirname});
});
app.get('/Orders/:item', function (req, res) {
res.sendFile('public/ViewOrder.html', {"root": __dirname});
});
attention
i had to modify static requests
<link rel="stylesheet" type="text/css" href="style.css">
- TO -
<link rel="stylesheet" type="text/css" href="/style.css">