node是什么

node概念:
独立安装的Chrome内核的v8脚本解释引擎
nvm node version manager
管理node版本
注意:nvm什么时候使用:使用一个框架需要指定版本的node时候使用
node ls//查看当前系统可以的node版本
node install 版本号 安装指定版本的node
node use 版本号 切换指定版本号的node
npm node package manager node 包管理器
npm init [-y/--yes] //初始化项目
npm run 脚本名字 //运行脚本

dependencies 字段 保存的是 生产 环境所依赖的包
npm install --save -S 指定生成环境的包
devDependencies 字段 保存的时开发环境所依赖的包
npm install 包名 --save-dev/-D 指定开发环境的包
要求:*****
装一个包时,一定要加 -S(--save) 或 -D(--save-dev)
注意:
如果安装一个包 不加 -S 或者 -D,package.json 中不会记录 你装包的信息

npm install 安装当前项目所有依赖的包
npm install 包名[@版本号 --save  --save/dev -g]
    i                    -S         -D     全局安装

npm uninstall 包名[-g]  // 卸载 包

npm info 包  // 查看一个包信息

npm 安装源问题
npm 服务器 可视化页面
npm 官方服务器 是国外的 (npm i安装的源是国外)

使用nrm管理npm源头
npm i nrm -g
nrm ls 查看有哪些可用的npm源
nrm test 查看延迟
nrm use 源 使用源
直接使用 cnpm 命名和npm 一模一样 使用它 源是淘宝的
淘宝
yarn node 包管理器(官方) yarn.lock (yarn )
npm i yarn -g
yarn init
yarn add 包名 //安装包到生产环境依赖
yarn add 包名 --dev 安装到开发环境依赖
yarn romove 包名 移除包
yarn global add 包名 全局安装
lock是锁定安装时版本的配置文件

模块化
允许我们在一个js中动态引入其他的js文件
1.系统模块 (nodejs为我们提供全局api,对应模块中)
const path=require("path")
2 第三方下载模块(npm下载模块)一点一点要加路径
//也是直接写文件名
当我们require一个模块时候,node会先去系统找,优先引入系统模块,如果不是系统模块,去当前目录下的node_modules目录中去查询,如果都没有,会报错
3自定义模块
接口:一个模块文件 向外提供 别的js 可以引入的东西
1.如果一个文件没有提供任何接口,那么整个文件就是一个完整模块,引入后 相当于直接引入这个js
//注意:不需要接受一个变量返回值
2.一个文件/模块 向外提供多个接口
提供接口:exports.接口名=值
引入接口: const 名字=require(要引入的文件路径)
或者 const {值}=requir(要引入的文件路径)
3.一个文件默认值提供一个接口
module.exports=值
引入
const a =require(文件路径)
注意:一个文件如果同时出现exports和module exports 以 module为准

node常见的系统模块
fs
引入
const fs=require("fs")
读文件:readFile("文件",可选项{encoding//解析的字符编码,默认二进制},"回调函数,优先是失败的回调 throw抛出错误")
readFileSync表示同步,没有回调,可用try将可能出错的代码放在try里面 catch放报错
写文件
writeFile("文件","写的内容",回调函数(参数只有err报错)) 注意:如果文件已经存在内容,他会永远覆盖文件
同步:
writeFileSync
改文件 追加
appendFile("文件","写的内容",回调函数(参数只有err报错))
删文件
rm("文件",回调函数(参数只有err报错))只在v14.14.0以上版本才可以使用
或则老版本unlink("文件",回调函数(参数只有err报错))
url
组成:
1.协议名:http/https
2.主机/源 主机名(域名)+端口
3. path 路由 www.baidu.com/a/b/c /a/b/c路径或者路由
4.search http://www.www.baidu.com/a/b/c?key=v&key2=v2
?key=v&key2=v2 是search 去掉问号是query
5.hash
url#hash
hash是地址栏后面加# #xx是url1的hash值

posted @ 2020-11-30 23:33  hw558  阅读(614)  评论(0)    收藏  举报