Node.js实践与总结

什么是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 = module
    • module.exports. = exports

    exports 是 module.exports 的引用,

http模块

// 构建服务对象
// 内置模块的导入不需要写相对路径,直接写模块名称
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值