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;

相关文章
|
7月前
|
JavaScript 前端开发
在Node.js中,如何合理使用模块来避免全局变量的问题?
在Node.js中,如何合理使用模块来避免全局变量的问题?
269 71
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
501 0
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
585 80
|
7月前
|
JavaScript 前端开发 开发者
Node学习笔记:HTTP模块
总的来说,Node.js的HTTP模块是一个强大的工具,可以帮助你处理HTTP协议的各种需求。无论你是想开设自己的餐厅(创建服务器),还是想去别的餐厅点菜(发出请求),HTTP模块都能满足你的需求。
220 18
|
10月前
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
565 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
384 62
|
12月前
|
监控 算法 JavaScript
基于 Node.js Socket 算法搭建局域网屏幕监控系统
在数字化办公环境中,局域网屏幕监控系统至关重要。基于Node.js的Socket算法实现高效、稳定的实时屏幕数据传输,助力企业保障信息安全、监督工作状态和远程技术支持。通过Socket建立监控端与被监控端的数据桥梁,确保实时画面呈现。实际部署需合理分配带宽并加密传输,确保信息安全。企业在使用时应权衡利弊,遵循法规,保障员工权益。
231 7
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
492 2
2024年5月node.js安装(winmac系统)保姆级教程
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
503 1
|
缓存 JSON JavaScript
Node.js模块系统
10月更文挑战第4天
122 2