我正在尝试使用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');
});
一切都运行良好,脚本完全加载,但如果我尝试使用第一段代码,服务器将无法再找到它们。
我该如何解决这个问题?感谢。
答案 0 :(得分:1)
指定装载路径:
// path should be required
`app.use('/apitest/:id', express.static(path.join(__dirname, 'public')))`