javascript - 路由将页面加载为没有 css 的纯文本 html。[节点js服务器]
问题描述
注意,我是 javascript 新手。因此,我正在尝试为我的页面设置基本路由。它可以工作,但css文件似乎没有加载到页面上。但是,如果我单击(例如)index.html
文件,它会在浏览器上正常显示。作为参考,我的routes.js
文件如下所示:
const url = require('url');
let fs = require('fs');
html = {
render(path, response) {
fs.readFile(path, null, function (error, data) {
if (error) {
response.writeHead(404);
respone.write('file not found');
} else {
response.write(data);
}
response.end();
});
}
}
module.exports = {
handleRequest(request, response) {
response.writeHead(200, {
'Content-Type': 'text/html'
});
let path = url.parse(request.url).pathname;
switch (path) {
case '/':
html.render('../authorization_code/public/landing_page.html', response);
break;
case '/about':
html.render('../components/about.html', response);
break;
default:
response.writeHead(404);
response.write('Route not found');
response.end();
}
}
}
我的服务器是这样设置的:
var http = require('http');
var fs = require('fs');
var express = require('express'); // Express web server framework
var request = require('request'); // "Request" library
const url = require('url');
let router = require('./routes');
let handleRequest = (request, response) => {
response.writeHead(200, {
'Content-Type': 'text/html'
});
};
http.createServer(router.handleRequest).listen(8888);
就像我说的,如果我直接打开一个.html
文件,css 看起来应该是这样,所以并不是我以错误的方式引用样式表。是我的路由问题还是服务器创建问题?我应该添加一些关于再次包含并在某处加载 css 文件的内容吗?
PS:如果有办法改进标题以反映我的问题,请说出来。
解决方案
推荐阅读
- python-3.x - 将 Python 代码部署到 Google 云,以更新云 sql 中的表以用于 mysql
- kubernetes - 即使在 pod 重新启动后,如何在 kubernetes 的 pod 中的文件中保持更改完成?
- oracle - 拒绝访问域时如何使用 startComponent.cmd 启动 oracle 报表服务器
- php - laravel,如何向函数 __construct() 添加条件
- curl - curl命令出错(curl:(35)读取X.509可能加密的密钥文件时出错:解析时出错。)
- python - 使用 Pandas 计算累积平均值
- mysql - 来自 MySQL 的数据透视表
- android - 卡住部分唤醒锁 - AudioMix
- c# - Ninject Asp.Net WebApi Authorization Filter 执行顺序
- javascript - 负后向正则表达式的替代方法在 Firefox 中不起作用