Node简介
**概念:**就是js运行环境,用来解析js代码
以前:在html文件中写js,通过浏览器来解析
现在:在js文件中写js,通过node来解析
作用:用来解析JS代码
用途:
1、写接口
2、写网站
3、写聊天室
4、写桌面应用
安装Node
步骤1:下载
步骤2:双击安装(ps. 除了安装目录外其他统一傻瓜式下一步)
步骤3:安装完毕测试
node初使用
1、通过node解析js代码
2、通过node解析js文件
以前浏览器解析JS代码:主要表单验证、网页特效(轮播图、手风琴等等)
现在Node解析JS代码:写接口、写网站、写聊天室、写桌面应用等
node的组成(CommonJS规范)
-
一个文件就是一个模块
-
通过exports和module.exports导出成员
exports和module.exports区别:
exports返回的是模块函数
module.exports返回的是模块对象本身,返回的是一个类
exports的方法可以直接调用
module.exports需要new对象之后才可以调用
module.exports默认会赋值给exports,所以module.exports可以赋值对象并调用出来,而给exports赋值对象就会将module.exports覆盖,所以不能直接调用。 -
通过require导入成员
node基础使用
语法:
以后安装模块必须先:npm init -y 生成package.json文件(作用:项目所需模块
下载模块:npm i/install 模块名
卸载模块:npm uninstall 模块名
下载参数: -g 概念 -g全局、主要作用/效果 控制台可以输入命令
新语法
npm 安装node后自带的命令行工具 cnpm 淘宝团队开发(基于npm的 1-下载快,2-兼容性好 yarn Facebook等团队成员(基于npm扩展 1-下载快,2-下载提示可读性略强,3-自动管理package.json等
安装
npm:不用安装,安装node自带 ,检查npm -v
cnpm*:http://npm.taobao.org/
安装:npm i -g cnpm --registry=https://registry.npm.taobao.org 校验:cnpm -v
yarn*
安装:npm i yarn -g 配置:yarn config set registry https://registry.npm.taobao.org 验证:yarn -v
语法
需要npm/cnpm init -y 不用 npm/cnpm install / yarn install npm/cnpm install 模块名 / yarn add 模块名 npm/cnpm uninstall 模块名 / yarn remove 模块名 npm/cnpm install 模块名 --save-dev / yarn add 模块名 --dev npm/cnpm install 模块名 -g / yarn global add 模块名 npm config list / yarn global dir/list ---------------------------------------------------------------- 手册看区别:https://yarnpkg.com/zh-Hans/docs/migrating-from-npm
小总结
以前浏览器解析JS代码想要写出强大的功能:DOM和BOM
现在node解析JS支持DOM和BOM吗?:不支持
解决:模块
模块种类:内置、自己、第三方
模块规范:node用的commonjs规范
1-一个文件就是一个模块 2-通过exports或module.exports导出 **exports和module.exports区别:** exports返回的是模块函数 module.exports返回的是模块对象本身,返回的是一个类 exports的方法可以直接调用 module.exports需要new对象之后才可以调用 **module.exports默认会赋值给exports,所以module.exports可以赋值对象并调用出来,而给exports赋值对象就会将module.exports覆盖,所以不能直接调> 用。** 3-通过require导入
模块系统(自定义Node模块)
需求:创建狗模块,导出成员姓名&吃方法
代码
模块系统(第三方Node模块)
概念:别人用commonjs安装自定义模块方式封装
步骤1(如何知道模块名?):百度 举例 node验证码模块
步骤2(如何用):
1-将模块名放到百度
2-将模块名放到 npmjs.com 搜索
3-node第三方模块仓库(npmjs.com)
步骤3(如何下载):通过node安装后自带的npm命令去下载
步骤4(下载之后怎么办):1-导入模块,2-根据手册调用方法
举例:
需 求:使用node查看文件mime类型的模块
步骤1:百度根据需求找模块(node验证码模块、node上传文件模块等)
步骤2:根据名字去npmjs.com搜 -> 详情右边下载,左下使用手册(目的看手册)
步骤3:下载
思考:package.json文件有几个作用
回答:
1-记录项目所需第三方模块
2-自己写第三方模块的时候使用
步骤4:文件中导入模块,调用方法
模块系统(内置Node模块)
内置模块os,url的使用:
内置模块http 创建web服务器
内置模块fs
读
fs.readFile(路径及文件名,‘utf8’, (err, data) => {})
fs.readFileSync(路径及文件名,‘utf8’)
写
fs.writeFile(路径及文件名,‘内容’, (err) => {})
fs.writeFileSync(路径及文件名,‘内容’)
大总结
node是什么:js运行环境用来解析js代码
能干吗:使js变得更强,能和后端平起平坐 写接口、网站等
去哪下:nodejs.cn (加入到浏览器书签)
安装:下载好,傻瓜式下一步安装,验证(node -v)
模块:内置、自定义、第三方
规范
commonjs
一个文件就是一个模块
通过exports和module.exports导出
通过require导入
验证发现官方模块也是一个个js文件
https://github.com/nodejs/node/tree/master/lib
其他:内置模块语法
url 获取get方式参数
url.parse(网址,true).query
http 创建web服务器
http.createServer((req, res) => {
req.url
res.setHeader()
res.end(内容)
}).listen(3000)
fs模块
fs.readFile(异步)
fs.readFileSync(同步)
fs.writeFile(异步)
fs.writeFileSync(同步)