Node 02--Node中的模块系统与响应中文编码

简介: Node 02--Node中的模块系统与响应中文编码

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战

require的加载顺序

require加载文件是运行到该位置才加载,请看下面的一段代码

a.js

console.log('a开始执行了');
require('./b');
console.log('a 执行结束了');
复制代码

b.js

console.log('b执行结束');
复制代码

执行结果

image.png

Node中没有全局作用域只有模块作用域

请看下面的两端代码

a.js

var a = '777'
console.log('a开始执行了');
require('./b');
console.log('a 执行结束了');
console.log('a的值是:',a);
复制代码

b.js

var a = '666'
console.log('b执行结束');
复制代码

执行结果

image.png

使用exports暴露模块

exports其实是一个空对象,我们相当于向这个空对象中添加元素,然后进行暴露。

a.js

const test = require('./b');
console.log(test.a);
复制代码

b.js

var a = '666'
exports.a = a;
复制代码

node运行 a.js

响应中文编码

服务器直接返回中文,在浏览器上显示的是乱码,所以我们可以通过设置setHeader中的编码格式来解决这一问题。

server.on('request',(req,res) => {
    res.setHeader('Content-Type','text/plain; charset=utf-8');
    res.end('Node,你好');
})
复制代码

Content-Type有什么作用?

Content-Type就是用来告知对方发送的数据内容是什么类型的。下面我们将给出Content-Type的例子

例子:设置为普通文本类型(plain)与html类型的

server.on('request',(req,res) => {
    const url = req.url;
    if (url === '/plain') {
        res.setHeader('Content-Type','text/plain; charset=utf-8');
        res.end('这是中文哦!');
    } else if (url === '/html') {
        res.end('<h1>你好这是一级标题</h1');
    }
})
复制代码

浏览器会默认将html的字符串解析为HTML代码,如果我们想要的不是HTML代码而是字符串,可以通过设置setHeader为text/plain;

相关文章
|
13天前
|
监控 JavaScript API
局域网监控软件的实时通知系统:利用Node.js和WebSocket实现即时消息推送
本文介绍了如何使用Node.js和WebSocket构建局域网监控软件的实时通知系统。实时通知对于网络安全和家庭监控至关重要,能即时发送监控数据变化的通知,提高响应速度。通过Node.js创建WebSocket服务器,当数据变化时,监控软件发送消息至服务器,服务器随即推送给客户端。此外,还展示了如何利用Node.js编写API,自动将监控数据提交到网站,便于用户查看历史记录,从而提升监控体验。
66 3
|
6天前
|
存储 Web App开发 JavaScript
构建基于Node.js的实时通信系统:技术详解
【5月更文挑战第22天】构建基于Node.js的实时通信系统,利用WebSocket协议和Socket.IO库实现全双工通信。系统采用Node.js作为服务器环境,处理高并发,结合WebSocket进行高效数据交换。Socket.IO提供WebSocket封装,保证兼容性。系统架构包括客户端(使用WebSocket连接服务器)、Node.js服务器(处理连接、消息、认证和数据存储)和数据库。开发流程包括环境搭建、服务器和客户端开发,最后部署测试。该系统可为在线聊天、视频会议等场景提供流畅交互体验,未来可优化性能和扩展性。
|
13天前
|
JSON JavaScript API
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP post 请求
36 1
|
13天前
|
JSON JavaScript 中间件
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
使用 Node.js 开发一个简单的 web 服务器响应 HTTP get 请求
12 2
|
13天前
|
消息中间件 监控 JavaScript
Node.js中的进程管理:child_process模块与进程管理
【4月更文挑战第30天】Node.js的`child_process`模块用于创建子进程,支持执行系统命令、运行脚本和进程间通信。主要方法包括:`exec`(执行命令,适合简单任务)、`execFile`(安全执行文件)、`spawn`(实时通信,处理大量数据)和`fork`(创建Node.js子进程,支持IPC)。有效的进程管理策略涉及限制并发进程、处理错误和退出事件、使用流通信、谨慎使用IPC以及监控和日志记录,以确保应用的稳定性和性能。
|
13天前
|
缓存 JavaScript 前端开发
Node.js的模块系统:CommonJS模块系统的使用
【4月更文挑战第29天】Node.js采用CommonJS作为模块系统,每个文件视为独立模块,通过`module.exports`导出和`require`引入实现依赖。模块有独立作用域,保证封装性,防止命名冲突。引入的模块会被缓存,提高加载效率并确保一致性。利用CommonJS,开发者能编写更模块化、可维护的代码。
|
13天前
|
JavaScript API
node.js之模块系统
node.js之模块系统
|
13天前
|
Web App开发 JavaScript 前端开发
【Node系列】node核心模块util
Node.js的核心模块util为开发者提供了一些常用的实用工具函数。这些函数能够很方便地进行对象的继承、类型判断以及其他工具函数的实现。
24 2
|
13天前
|
域名解析 网络协议 JavaScript
【Node系列】node工具模块
Node.js有多个内置的工具模块,这些模块提供了用于执行各种任务的功能。
27 2
|
13天前
|
缓存 并行计算 JavaScript
【Node系列】模块系统
Node.js 的模块系统是其核心特性之一,允许开发者编写可复用的代码,并通过简单的导入和导出机制来共享和使用这些模块。
22 3