使用Node.js渲染页面时出现css / js文件引用错误

时间:2017-07-12 22:09:35

标签: javascript node.js server get httprequest

我正在尝试使用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');
});

一切都运行良好,脚本完全加载,但如果我尝试使用第一段代码,服务器将无法再找到它们。

我该如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:1)

指定装载路径:

// path should be required
`app.use('/apitest/:id', express.static(path.join(__dirname, 'public')))`