nodejs
- nodejs是什么 ?
- 是后端语言 也是js,就是把js放在服务器环境里运行
- nodejs的使用
- 安装nodejs
- 查看nodejs是否安装好 :
node -v
- js文件在nodejs服务 和前端的执行
- 进入nodejs环境
node
repl : 交互式解释器 (前端的console)- repl : 没有window 没有docuemnt
- 初步感受nodejs:nodejs搭建一个简单的服务器
- 运行nodejs的服务:
- 进入文件夹(cd 文件夹的路径) node 文件名称
- node 文件的路径(用的少)
- 运行nodejs的服务:
- commonjs规范 : nodejs的模块化 类比 前端 ESM(ES6module)
- 不要把 commonjs规范 和 ESM 搞混了
- 导入和导出
- ESM: 只能导入导出文件
- 导入 : import "./a.js";
- 导入: import myobj from './a.js' 对应 export default导出
- 导入: import {a,b} from './a.js' 对应是 export {a:10,b:20};
- import myobj,{a,b} from './a.js';
- import * as myobj from 'a.js';
- 按需导入 :不是立刻导入 ,是需要的时候异步导入进来
import("路径").then(res=>{console.log(res)})
- ESM: 只能导入导出文件
- COMMONJSf规范:
- 导入和导出
- 导入 :let res = require("./a.js");
- 导出: module.exports = {对象};
- 导入的三种方式
- 导入文件
let res = require("./a.js")
;./
不能省略 - 导入目录(文件夹)
let res = require("./mymodule")
不能省略./
- 导入文件的时候会自动查找文件下的
index.js
文件 - 配置package.json 来设置主入口的路径 : main
- 创建一个package.json
npm init
: 不要用中文npm init -y
: 自动全部选项都是默认项
- 创建一个package.json
- 导入文件的时候会自动查找文件下的
- 导入特殊的目录 :
node_modules
let res = require("mymodule")
: 不需要 "./"- 一般都是第三方模块
- node_modules 会向上查找 ,会找到全局的node_modules
- 导入文件
- 导入和导出
- nodejs的内置模块和第三方模块
- 内置模块 : http 、fs
- 第三方模块
- npmjs.org 下载
- npm工具
- 安装: 安装nodejs的时候自动安装
- 查看npm版本
npm -v
;
- 查看npm版本
- 安装: 安装nodejs的时候自动安装
- npm 的使用
- npm 安装 模块
- npm install 模块名
- 简写 npm i 模块名
- 安装指定版本 npm i 模块名@版本号
- 安装的修饰符
-g
:全局安装- 安装到
npm root -g
;
- 安装到
-S
是--save
的简写- 会在package.json 里的 dependencies 添加模块名及版本
-D
是--save-dev
的简写- 会在package.json 里的devDependencies里写模块名及版本
- 卸载 npm uninstall 模块名
- 自动安装package.json里的模块 :
- npm i : 自动查找当前目录下的package.json里的模块
- 2个小工具
- cnpm 取代 npm
- 把npm的下载源地址 换成 cnpm的源(淘宝源)
- 设置源
npm config set registry https://registry.npm.taobao.org
- 查看源 ``npm config get registry`
- 设置源
- 把npm的下载源地址 换成 cnpm的源(淘宝源)
nodemon
: 自动刷新nodejs服务器
- cnpm 取代 npm
- npm install 模块名
- npm 安装 模块
- fs模块
-
文件操作
- 写入文件 : fs.writeFile("路径","内容",funciton(err){})
- fs.writeFileSync("路径","内容")
- 读取文件 : fs.readFile("文件路径",function(err,data){
}) - 读取的内容是buffer : 把nodejs里的buffer转成字符串 - buffer.toString();
- 修改文件 : rename("旧文件","新文件",err=>{});
- 删除文件 : unlink("文件名");
- 写入文件 : fs.writeFile("路径","内容",funciton(err){})
-
目录(文件夹)操作
-