Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Express.js中的静态路由返回404错误_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express.js中的静态路由返回404错误

Javascript Express.js中的静态路由返回404错误,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试使用express.js为我的网站的不同页面创建路由。 当转到127.0.0.1:8080时,它会很好地加载index.html页面,但是,当我转到127.0.0.1:8080/questionaire时,它返回404错误,并且不会加载questionaire.html。我想用这句话: app.use(express.static('client', { extensions: ['html'] })); 这意味着这是可能的,但是,它不起作用。如果有更好的方法解决问题,请通知我 目录

我正在尝试使用express.js为我的网站的不同页面创建路由。 当转到127.0.0.1:8080时,它会很好地加载index.html页面,但是,当我转到127.0.0.1:8080/questionaire时,它返回404错误,并且不会加载questionaire.html。我想用这句话:

app.use(express.static('client', { extensions: ['html'] }));
这意味着这是可能的,但是,它不起作用。如果有更好的方法解决问题,请通知我

目录

client
-- index.html
-- index.js
-- questionaire.html
-- questionaire.js
svr.js
viewapi.js
svr.js

'use strict';

const express = require('express');
const app = express();

const view_api = require('./viewapi');

app.use(express.static('client', { extensions: ['html'] }));

const api = require('./api');

app.use('/view', view_api); // routing to api which will get data in form of JSON

app.listen(8080);


我刚刚试过你的设置,加载questionare.html对我来说很好。当您尝试加载页面时,是否从Express服务器收到任何其他错误?我之所以问这个问题,是因为我不确定
viewapi.js中的内容,所以当我测试它时,我没有该文件

然而,要回答这个问题:

如果有更好的方法解决问题,请通知我

分离您所服务的资产(html、css、js、图像等)是一种很好的做法。例如,您可以在
客户机
文件夹中创建子文件夹,并将静态文件放在相应的文件夹中


您还可以在这里找到示例和更好的文档:

我刚刚删除并阅读了app.use(express.static('client',{extensions:['html']}));但不知怎么的,它起了作用。我们将研究如何分离这些文件。