node.js可以很好地加载html,但是不会加载相关的CSS

奥马尔·尤斯里(Omar A. Yousry)

我在使用javascript加载我的index.html文件时遇到了麻烦(我很确定这可能是在javascript中最容易做的第五件事)。

我会尽量保持简短;基本上,当我手动打开index.html时,使用CSS可以很好地对其进行加载(如下图所示)

http://i.stack.imgur.com/VZfbq.png

但是,当我使用javascript加载它时,它仅加载具有默认格式的纯html,而没有我的CSS:

http://i.stack.imgur.com/Eovav.png

这些文件位于以下位置:

server.js位于:根目录

index.html在:根/公共

style.css位于:root / public / css

server.js

var http = require('http');
var fs = require('fs');

var handleRequest = function handleRequest(request, response){
        if (request.url==='/index.html' || request.url==='/') {
            response.writeHeader(200, {'Content-type':'text/html'});
            fs.readFile('./public/index.html', function (err, file) {
                if (err) throw err;
                response.end(file);
            });
        } else {
            response.writeHeader(404);
            response.end('Are you lost friend?');
        }
}
var server = http.createServer(handleRequest);
var PORT = 8080; 
server.listen(PORT, function(){
    console.log("Server listening on: http://localhost:%s", PORT);
});

index.html

<!DOCTYPE html>
<html>
<head>
    <title>My not-so-amazing Webpage</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>

<h1>The Inspiratorator v5.7.0</h1>

<p>I AM THE SUN</p>

</body>
</html>

style.css

h1 {
  background-color: #000000;
  color: rgba(255, 255, 255, 1);
  backface-visibility: 0.5; 
  font-size: 50px;
  text-align: center;
}

p {
   background-color: blue;
   font-family: sans-serif;
   color: white;
}
詹尼斯夫

看一下您如何处理请求,基本上您是拒绝除之外的每个请求/浏览器无法访问css文件。

if (request.url==='/index.html' || request.url==='/') {
            response.writeHeader(200, {'Content-type':'text/html'});
            fs.readFile('./public/index.html', function (err, file) {
                if (err) throw err;
                response.end(file);
            });
        } else {
            response.writeHeader(404);
            response.end('Are you lost friend?');
        }

在这里,我为css文件添加了一个例外,它可以正常工作。

笔记:

您应该更改此代码以满足您的需求,请勿在生产中使用。

} else if (request.url.indexOf('css') != -1) {
            response.writeHeader(200, {'Content-type':'text/css'});
            fs.readFile('./public/css/style.css', function (err, file) {
                if (err) throw err;
                response.end(file);
            });
        }

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js 加载 css

来自分类Dev

Node Express失败加载CSS和JS

来自分类Dev

使用Node.js加载动态HTML

来自分类Dev

在Node.js中加载HTML页面

来自分类Dev

HTML不会加载外部CSS文件

来自分类Dev

node.js Web服务器不会重新加载

来自分类Dev

我可以在node.js中使用cheerio软件包加载本地html文件吗?

来自分类Dev

CSS未加载到node.js生成的链接上

来自分类Dev

Node.js-JavaScript-HTML-XMLHttpRequest无法加载

来自分类Dev

yii-boostrap不会加载CSS或JS文件

来自分类Dev

primefaces codeMirror不会加载自己的CSS和JS

来自分类Dev

Node.js表示无法加载sqlite3模块,但仍然可以加载

来自分类Dev

如何模拟加载了dojo / node的Node.js模块

来自分类Dev

加载模块node.js的最佳方法

来自分类Dev

Node.js Jade从配置加载链接

来自分类Dev

Node.js-sequelize hasMany渴望加载

来自分类Dev

错误node.js无法加载资源

来自分类Dev

使用Browserify加载Node.js模块

来自分类Dev

无法加载node.js包

来自分类Dev

Node.js-sequelize hasMany渴望加载

来自分类Dev

在Node.js中加载静态资产

来自分类Dev

Node.js如何加载本机插件?

来自分类Dev

使用Browserify加载Node.js模块

来自分类Dev

无法在Node JS中加载资源

来自分类Dev

Node.js 模块导出“预加载”

来自分类Dev

我的Underscore模板不会加载/显示所有模型数据,但是可以访问吗?

来自分类Dev

WordPress的CSS样式不会加载

来自分类Dev

Firefox不会加载CSS文件

来自分类Dev

Android WebView不会加载html文件