想问个Node.js运行时编码的问题

cheery_an cheery_an 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我使用Node.js把某个目录作为可运行目录的时候,ANSI编码的html文件可以被正常解析为html,而Utf-8格式的html文件,他却直接把文件的内容给显示出来了,没有进行html解析。能给个解决办法吗?
比如我运行下面的html文件的时候,

<!DOCTYPE html>
<html class="root61">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="functions.js"></script>
<title></title>
</head>
<body>
内容
</body>

当html文件存储为ANSI时,可以正常解析,浏览器显示出“内容”两个字,而当html文件存储为uft-8时,浏览器却把这个文件的内容给显示出来了。
我是使用 node hellWeb.js html目录 来运行的,helloWeb.js如下:

'use strict';

var
fs = require('fs'),
url = require('url'),
path = require('path'),
http = require('http');

// 从命令行参数获取root目录,默认是当前目录:
var root = path.resolve(process.argv[2] || '.');

console.log('Static root dir: ' + root);

// 创建服务器:
var server = http.createServer(function (request, response) {
// 获得URL的path,类似 '/css/bootstrap.css':
var pathname = url.parse(request.url).pathname;
// 获得对应的本地文件路径,类似 '/srv/www/css/bootstrap.css':
var filepath = path.join(root, pathname);
// 获取文件状态:
fs.stat(filepath, function (err, stats) {
if (!err && stats.isFile()) {
// 没有出错并且文件存在:
console.log('200 ' + request.url);
// 发送200响应:
response.writeHead(200);
// 将文件流导向response:
fs.createReadStream(filepath).pipe(response);
} else {
// 出错了或者文件不存在:
console.log('404 ' + request.url);
// 发送404响应:
response.writeHead(404);
response.end('404 Not Found');
}
});
});

server.listen(8080);

console.log('Server is running at http://127.0.0.1:8080/');
...全文

相关推荐

Node.js-iconv-lite-纯javascript转换字符编码

iconv-lite - 纯javascript转换字符编码

weixin_39841365

Node.js——基于Chrome JavaScript运行时建立的平台

Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的、可扩展的网络应用。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻微和高效,非常适合构建运行在分布式设备的数据密集型实时应用。 运行于浏览器的Javascript,浏览器就是Javascript代码的解析器,而Node.js则是服务器端JS的代码解析器,存于服务器端的JS代码由Node.js来解析和应用。 JS解析器只是JS代码运行的一种环境,浏览器是JS运行的一种环境,浏览器为JS提供了操作DOM对象和window对象等接口。Node.js也是JS的一种运行环境,node.js为JS提供操作文件、创建http服务、创建TCP、UDP服务等接口,所以Node.js可以完成其他后台语言能完成的工作。

「已注销」

Node.js:Node.js是基于Chrome V8 JavaScript引擎构建JavaScript运行时-开源

作为异步事件驱动JavaScript运行时,Node.js旨在构建可扩展的网络应用程序

leeloo deng

Node.js:Node.js 是一个基于 Chrome 的 V8 JavaScript 引擎构建的 JavaScript 运行时-开源

作为异步事件驱动的 JavaScript 运行时,Node.js 旨在构建可扩展的网络应用程序

xrxiong

Node.js Javascript运行环境(runtime environment)

Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。 V8引擎执行Javascript的速度非常快,性能非常好。 [1] Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

weixin_41718791
评论 7
收藏 已收藏
分享
返回顶部
cheery_an
JavaScript 87,983 成员 224,681 内容