初识Node.js
什么是Node.js?
- Node.js是一个基于Chrome V8 引擎的 JavaScript的运行环境;
- Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻重又高效。
- Node.js功能:
-
- 事件驱动
-
- 非阻塞I/O模型[异步的输入输出,比如:文件操作.数据库操作。
Node.js文件的运行?
- 使用Node.js编译器;
- 使用命令运用.
- 导入模块--require;
- 导出模块--module.exports
Node.js文件的实时监听改动
- nodemon;
Node.js版本
- Current[最新版]--小白鼠;
- LTS[长期稳定版].
Node.js的模块化问题?
- Node.js采用了Common.js模块化;
- 模块化解决的事什么问题?
- 应用:
- 内置模块 ->可以直接使用;
- http 处理与服务器相关的一些功能;
- url 解析处理 url 地址;
- querystring
-
- 使用场景:
- 用于处理 url 上的查找字符串-- ?之后的
- querystring.parse : string->object
- querystring.stringify: object->string
- querystring.escape : 中文转码
- querystring.unescape : 中文解码
- 例:querystring.parse(url.parse(url).query,'&','=');
- fs 操作文件;
- 例:const fs=require('fs')--Common.js 模块引入方式
- fs 是一个对象
- 定义的fs 其实拿的是一个地址,地址一般都不希望变的,所以const
- fs.readFileSync--同步读;
- fs.readFile--异步读
- path
-
- 使用场景:
-
- 问题:浏览器的全局变量是?Node.js全局变量?
- 浏览器中全局变量:window;
- Nodw.js中全局变量:global;
- 第三方模块 ->Node.js没有的 类似于插件;
- 前端第三方插件全部都在一个网站中:www.npmjs.com
- 使用
-
- 安装npm/cnpm/yarn
-
- cnpm i requset -S/-D
- -S 生产环境
- -D 开发环境
- 问题:这里存不存在跨域?
- 不存在 , Node.js是运行在服务端的,不是在浏览器端的,没有同源策略
- 总结:
-要是不会用第三模块化怎么办?
-
- npm.js 查阅文档
-
- 先写单案例测试
-
- 记录使用文档,记录下来,方便以后查阅
- 自定义模块--自己创建模块,自己使用;
- 自定义模块上传实现步骤
-
- 创建文件夹,注意命名不能冲突;
-
- 创建packgae.json文件
-
- 创建index.js 里面任意封装一个功能
-
- 创建一个npm.js 账号
-
- 保证当前源是 npm 源
-
- 登录账号
-
- 上传
JSON.stringify/JSON.parse
-
- 字符串.对象相互转换
-
- 深拷贝--JSON序列化实现
- JSON.parse(JSON.stringify( 内容 ))--先转字符串再转对象