【发布时间】:2017-07-12 22:09:35
【问题描述】:
我正在尝试使用 Node.js 作为服务器来加载页面。
我正在尝试创建一个 API,以根据用户输入相应地加载不同的页面。
我正在使用以下代码:
app.get('/apitest/:id', function(request, response) {
const requestId = request.params.id;
if(requestId == 1){
response.render('pages/index2');
} else if(requestId == 2){
response.render('pages/index3');
} else{
response.render('pages/404');
}
});
问题是加载的页面中包含的js和css文件找不到。 原因是服务器在错误的路径上查找它们,如下所示:
http://localhost:5000/apitest/js/three/examples/js/renderers/CanvasRenderer.js
但所有 js/css 文件都在文件夹 public/js 和 public/css(经典服务器 Node.js 路径)中。
所以如果我只是使用加载页面
app.get('/', function(request, response) {
response.render('pages/index');
});
一切正常,脚本也完美加载,但如果我尝试使用第一个 sn-p 代码,服务器将无法再找到它们。
我该如何解决这个问题?谢谢。
【问题讨论】:
-
你需要使用绝对路径。
-
问题解决了吗?
-
@taha 实际上我已经有了这行代码: app.use(express.static(__dirname + '/public')) 买它不起作用。我也试过你的解决方案,但它不起作用。
-
当您尝试我的解决方案时,您遇到了什么样的错误?为您的静态文件生成的 url express 是什么?
-
@taha 我收到此错误:加载资源失败:服务器响应状态为 404(未找到)。
标签: javascript node.js server get httprequest