Node.js实践与总结

    技术2025-04-10  8

    Node.js实践与总结

    什么是nodejs特点 commonjs规范AMD规范和commonJS模块化 http模块fs模块stream 支持cookie安装插件命令

    什么是nodejs

    node.js就是js,是js服务端运行环境runtime,只是借助于Chrome V8引擎,实现js后端编程。 任何一台电脑都可以作为服务器。

    注:浏览器是js的前端运行环境runtime

    特点

    nodejs适用于 I/O 密集型操作,不适用于CPU密集型操作(大量计算)

    单线程非阻塞 I/O 访问文件网络请求数据库查询键盘/鼠标交互 事件驱动

    commonjs规范

    nodejs遵循commonjs规范

    AMD规范和commonJS

    1.相同点:都是为了模块化。

    2.不同点:AMD规范则是非同步加载模块,允许指定回调函数。CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。

    模块化

    解决js变量污染(多个js文件之间,存在的变量名)的问题,一个文件就是一个模块

    模块引入 导入node_modules目录下的文件文件夹 require()

    引入流程

    流程一:

    当作文件处理(.js 或 .json 或 .node)当作文件夹处理 先找package.json 里面的main对应文件没有main,找index.js || json都没有,报错

    流程二:

    先找内置模块非内置,找第三方模块都没有,报错

    模块导出

    module.exports = {} 按需导出exports.module = modulemodule.exports. = exports

    exports 是 module.exports 的引用,

    http模块

    构建服务 MIME 参考手册 // 构建服务对象 // 内置模块的导入不需要写相对路径,直接写模块名称 const http = require("http") const server = http.createServer((req, res) => { // 中文配置 // res.write()支持程度低;res.send()对参数支持程度比较高。 res.setHeader("content-type","text/html;charset=utf-8") // write和send相比,send对数据格式兼容性更好 res.write("你好 nodejs") res.send("你好 nodejs") res.end("1") }) // 服务对象监听端口 server.listen(3000) 启动服务 终端输入(index.js是构建服务对象所在的文件名) node index.js 页面输出 访问 localhost:3000 hello nodejs

    fs模块

    const fs = require("fs") // 文件内容一次性全部读取到内存,然后返回 const content = fs.readFileSync("./index.html")

    stream

    // 流读取,是一个data事件的集合,读取大文件常用 const readStream = fs.createReadStream("./detail.html") readStream.pipe(res)

    支持cookie

    npm install cookie

    安装插件命令

    // 全局安装 npm i 插件名 -g // 开发模式安装 npm i 插件名 -D
    Processed: 0.010, SQL: 9