nodejs简单认识

173 阅读2分钟

nodejs

  • nodejs是什么 ?
    • 是后端语言 也是js,就是把js放在服务器环境里运行
  • nodejs的使用
    • 安装nodejs
    • 查看nodejs是否安装好 : node -v
    • js文件在nodejs服务 和前端的执行
    • 进入nodejs环境 node repl : 交互式解释器 (前端的console)
      • repl : 没有window 没有docuemnt
  • 初步感受nodejs:nodejs搭建一个简单的服务器
    • 运行nodejs的服务:
      • 进入文件夹(cd 文件夹的路径) node 文件名称
      • node 文件的路径(用的少)
  • 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)})
    • 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 : 自动全部选项都是默认项
        • 导入特殊的目录 : node_modules
          • let res = require("mymodule") : 不需要 "./"
          • 一般都是第三方模块
          • node_modules 会向上查找 ,会找到全局的node_modules
    • nodejs的内置模块和第三方模块
      • 内置模块 : http 、fs
      • 第三方模块
        • npmjs.org 下载
        • npm工具
          • 安装: 安装nodejs的时候自动安装
            • 查看npm版本 npm -v;
        • 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`
              • nodemon : 自动刷新nodejs服务器
    • fs模块
      • 文件操作

        • 写入文件 : fs.writeFile("路径","内容",funciton(err){})
          • fs.writeFileSync("路径","内容")
        • 读取文件 : fs.readFile("文件路径",function(err,data){

        }) - 读取的内容是buffer : 把nodejs里的buffer转成字符串 - buffer.toString();

        • 修改文件 : rename("旧文件","新文件",err=>{});
        • 删除文件 : unlink("文件名");
      • 目录(文件夹)操作