node的环境搭建-1

111 阅读4分钟

通过nvm安装node

nvm地址

https://github.com/coreybutler/nvm-windows/releases

nvm常见指令

// 查看可用版本
nvm list available

// 安装LTS长期支持版本
nvm install 20.12.2

// 使用该版本
nvm use 20.12.2

// 查看已有版本
nvm list

npm镜像源

// 查看镜像源,默认是:https://registry.npmjs.org/
npm config get registry

// 修改为淘宝镜像源
npm config set registry https://registry.npmmirror.com

通过express创建项目

项目构建,启动

流程

// 安装
npm i -g express-generator@4

// 创建项目clwy-api
express --no-view clwy-api 


// 进入项目并安装依赖
npm i

// 启动项目,打开localhost:3030即可
npm start

 
 
// 注意:--no-view不需要任何视图模板

获取json接口而不是html页面

// 修改routes/index.js
// router.get('/', function(req, res, next) {
//   res.render('index', { title: 'Express' });
// });
router.get("/", function (req, res, next) {
  res.json({ message: "Express" })
})


// 删除public/index.html,重启

nodemon

npm i nodemon

"scripts": {
    "start": "nodemon ./bin/www"
},

使用docker安装MySQL

其他方法

// 传统的安装方法需要非常繁琐的下一步

// 集成环境要简单很多,但是也不推荐
// 因为在Windows与macOS下,安装和使用的流程都有所不同
// 而且将来部署到服务器后,也会有一些默认配置不同

docker的下载及使用

  • 下载
https://www.docker.com/get-started/
  • 配置中国镜像
// 打开选项-Docker Engine
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://xelrug2w.mirror.aliyuncs.com"
  ]
}

docker的常见问题

  • docker stop和linux版本旧问题
cmd==>wsl --update
  • 启动时,提示Starting the Docker Engine...,然后一直卡住不动
控制面板-程序-启动或关闭windows功能-打开hyper-v和适用于linux的window子系统-重启电脑
  • 没有hyper-v选项
// 新建Hyper.cmd,输入以下代码,启动
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

使用docker compose

  • 项目根目录下创建docker-compose.yml
services:
  mysql:
    image: mysql:8.3.0
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
    environment:
      - MYSQL_ROOT_PASSWORD=clwy1234
      - MYSQL_LOWER_CASE_TABLE_NAMES=0
    ports:
      - "3306:3306"
    volumes:
      - ./data/mysql:/var/lib/mysql
  • 启动
// 注:可能需要开启vpn
docker-compose up -d

安装navicat管理MySQL

创建数据库与数据表

连接mySQL

CRUD:

数据库的常用操作就四个内容:增删改查

英文我们叫做:Create、Delete、Update、Read

连接-mysql-输入连接名密码-测试连接-确定

6bf84e811ba1c4e2bfbaf7555dd3ee5.png

创建数据库

右键本机-新建数据库

image.png

数据库的编码选择`utf8mb4`,字符集选择`utf8mb4_general_ci`
// 默认,可以不选直接生成

image.png

创建表

新建表-添加字段-保存为Articles表
注:id要选择自动递增

int:整数
char/varchar:字符串
text:文本
decimal:小数
date/time/datetime:时间

image.png

常用SQL语句:增加、修改、删除

增加语句

  • 可视化操作:

1721723627451.jpg

  • 语句:
// 单行插入
INSERT INTO 表名 (列1, ...) VALUES (值1, ...)
// 例如:
INSERT INTO `Articles` (`title`, `content`) VALUES ('行路难·其一', '长风破浪会有时,直挂云帆济沧海。');
// 多行插入
INSERT INTO 表名 (列1, ...) VALUES (值1, ...),(值1, ...)...;
// 例如:
INSERT INTO `Articles` (`title`, `content`) VALUES ('将进酒', '天生我材必有用,千金散尽还复来。'), ('宣州谢朓楼饯别校书叔云', '抽刀断水水更流,举杯消愁愁更愁。'), ('梦游天姥吟留别', '安能摧眉折腰事权贵,使我不得开心颜!'), ('春夜宴从弟桃花园序', '天地者,万物之逆旅也;光阴者,百代之过客也。'), ('宣州谢朓楼饯别校书叔云', '弃我去者,昨日之日不可留;乱我心者,今日之日多烦忧。'), ('庐山谣寄卢侍御虚舟', '我本楚狂人,凤歌笑孔丘。手持绿玉杖,朝别黄鹤楼。'), ('行路难', '长风破浪会有时,直挂云帆济沧海'), ('将进酒', '人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。'), ('望庐山瀑布', '飞流直下三千尺,疑是银河落九天。'), ('访戴天山道士不遇', '树深时见鹿,溪午不闻钟。'), ('清平调', '云想衣裳花想容,春风拂槛露华浓。'), ('春夜洛城闻笛', '谁家玉笛暗飞声,散入春风满洛城。');

1721723989518.jpg

image.png

注:操作后刷新才能看到更新

修改语句

UPDATE 表名 SET1=值1, 列2=值2, ... WHERE 条件
// 例如:
UPDATE `Articles` SET `title`='黄鹤楼送孟浩然之广陵', `content`='故人西辞黄鹤楼,烟花三月下扬州。' WHERE `id`=2;

删除语句

DELETE FROM 表名 WHERE 条件
-- 例如:
DELETE FROM `ARTICLES` WHERE `id`=5;