夏天夏 夏天夏
首页
  • 技术分享

    • 小白都能看懂的闭包
    • 关于后台管理应用
    • 关于技术的取舍
    • 前端工程化
    • 切换node版本
    • 如何优雅的写事件代理
    • 我所不了解的技术
    • 我喜欢的parcel
    • angular1使用
    • npm script打造前端工作流
  • 发布一个node插件

    • 发布一个npm包
    • 如何打包一个插件工具库
    • 打包工具的选择
  • 年终总结

    • 2019年总结
    • 2020年总结
    • 2021年总结
  • JavaScript
  • CSS
  • 框架
  • Node
  • 服务
  • web3
  • 其他
我的作品
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

夏天夏

我也不饶岁月
首页
  • 技术分享

    • 小白都能看懂的闭包
    • 关于后台管理应用
    • 关于技术的取舍
    • 前端工程化
    • 切换node版本
    • 如何优雅的写事件代理
    • 我所不了解的技术
    • 我喜欢的parcel
    • angular1使用
    • npm script打造前端工作流
  • 发布一个node插件

    • 发布一个npm包
    • 如何打包一个插件工具库
    • 打包工具的选择
  • 年终总结

    • 2019年总结
    • 2020年总结
    • 2021年总结
  • JavaScript
  • CSS
  • 框架
  • Node
  • 服务
  • web3
  • 其他
我的作品
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaScript

  • CSS

  • 框架

  • Node

    • Nodejs基础
      • 简介
      • 安装
      • npm 命令
      • 发布npm包
      • 测试npm包
        • http模块
        • fs模块
        • url模块
        • querystring模块
        • path模块
        • 引入
        • 输出
      • cookie&session
      • node后端框架 Express
        • 安装应用生成器
        • 创建应用
        • 创建基本服务三步
    • Node服务
    • Node爬虫
  • 服务

  • 其他

  • 设计模式

  • web3

  • react

  • 学习笔记
  • Node
夏天夏
2022-05-15
目录

Nodejs基础

  • # Node (opens new window)

# 简介

Node诞生于2009年,是基于 Google V8 引擎的 JavaScript 运行时环境,具有 I/O、文件读写、操作数据库(服务器端)等能力,具有事件驱动,非阻塞 I/O 模型等特性,主要作用为前端的开发工具与网站后端。Node.js 内置了开源包管理器npm。


# npm (opens new window)

# 安装

  • 本地安装
    • 将安装包放在 ./node_modules 下(运行npm时所在的目录)
    • 可以通过 require() 来引入本地安装的包
    • npm install xxx 安装xxx模块到当前目录,但不记录到package.json里。
    • npm install --save xxx 安装xxx模块,并且记录到package.json里,字段对应的dependency,是产品环境必须依赖的模块
      • 注意 node6开始--save的默认的,可以不写 npm i XXX
    • npm install xxx --save-dev把你的安装包信息写入package.json文件的dev-Dependencies字段中
      • npm i -d xxx (简写)
    • ./node_modules/.bin/ XXX 执行一个本地目录安装的包命令
      • npx XXX (缩写)
  • 全局安装
    • npm install --global xxx全局安装xxx模块,但不记录到package.json里,如果模块里package.json有bin配置,会自动链接,作为cli命令
    • 全局安装可以直接在命令行里使用
    • npm root -g 查看全局安装目录
    • npm list -g --depth 0 查看全局安装的包
  • npm uninstall 删除包
  • npm install 下载package.json记录的包
  • npm root -g 查看全局包的安装目录

# npm 命令

  • npm init 初始化创建一个包
  • npm init -y 初始化创建一个默认的包
  • npm run xxx 启动npm脚本 (package.json的script)
  • 关于速度慢
    • 方案1:
      • npm install -g ppt-cli --registry=https://registry.npm.taobao.org
    • 方案2:nrm 一个快速切换源版本的工具
      • npm install -g nrm
      • nrm ls
      • nrm use taobao
  • 参数
    • --loglevel silent //简化log消息(没有消息是最好的消息)
      • -s //简写
    • --loglevel verbose //详细log消息
      • -d //简写

其他npm命令 http://javascript.ruanyifeng.com/nodejs/npm.html

# 发布npm包

  • npm adduser //添加登录npm用户
  • npm whoami //查看当前登录的用户
  • npm publish

注意:发布前需要查看当前源是否npm,npm包名字是否已经被占用,版本号是否与发布前版本号相同,package.JSON文件中的main字段是包的加载的入口文件默认是index.js

# 测试npm包

(在准备发布的包根目录下使用)npm link 当前的包发布到全局目录
(在准备发布的包根目录下使用)unnpm link 当前的包在全局目录下删除
(在项目中使用)npm link XXX 用全局目录的包替换掉当前使用的包
(在项目中使用)npm unlink XXX 用回当前本地的包

npm link 只是对目录做了一个软链,只有需要本地测试的时候用到。

# 系统模块

# http模块

创建服务

http.createServer(function(req,res){
	var obj=urlLib.parse(req.url)
	res.end()
}).listen(8080)
1
2
3
4

# fs模块

读写文件

  • fs.readFile('fileName','callback(err,data){}')
    • 读文件
  • fs.writeFile('fileName','content','callback(err,dara){}')
    • 写或创建文件

# url模块

解析url 主要解析get数据

  • url.pathname 获取及设置URL的路径(path)部分
  • url.parse(req.url,true)

# querystring模块

主要解析post数据

# path模块

主要用于处理文件与目录的路径

# 自定义模块

# 引入

var mod=quirequi=('mod') 注意:如果不在module_nodes文件下的模块需要加——'./' 如 var mod=quirequi=('./mod')

# 输出

exports.xxx=?? exports.yyy=??

module.exports={xxx:??,yyy:??}

# 调试

断点调试:断点调试:node debugger 或node inspector 或vscode package.json中文文档 (opens new window)

# node版本管理器——nvm

nvm ls	//查看已下载的版本列表
nvm use  <versionNumber> //使用版本
nvm install <versionNumber> //下载
nvm uninstall <versionNumber> //删除
nvm node_mirror <node_mirror_url>:设置节点镜像,可以使用https://npm.taobao.org/mirrors/node/

请注意: 在安装nvm for windows之前,你需要卸载任何现有版本的node.js。并且需要删除现有的nodejs安装目录(例如:"C:\Program Files\nodejs’)。因为,nvm生成的symlink(符号链接/超链接)不会覆盖现有的(甚至是空的)安装目录。
你还需要删除现有的npm安装位置(例如“C:\Users\weiqinl\AppData\Roaming\npm”),以便正确使用nvm安装位置。
1
2
3
4
5
6
7
8

# node后端

# cookie&session

cookie和session都是储存数据用的,区别在于

  • cookie储存在客户端(不安全)
    • 只能存储4K数据
  • session储存在服务器(安全)
    • 可以存储大量数据,只要服务器容量大
    • 基于cookie实现
    • 隐患:session劫持

# node后端框架 Express (opens new window)

# 安装应用生成器

npm install express-generator -g
npm install express-generator --save-dev ———— 一般安装在本地项目中,方便在开发机环境使用
1
2

# 创建应用

express myapp //在当前目录下创建一个名为myapp的工程文件
cd myapp  //进入文件夹
npm install  //安装所有依赖包
npm start   //打开服务

1
2
3
4
5

# 创建基本服务三步

const express=require('express')
//1.创建服务
var server=express()
//2.处理请求 
server.use('/b.html',function(req,res){
    res.send('BBB')
    res.end()
})
//3.监听端口
server.listen(8080)
1
2
3
4
5
6
7
8
9
10
  • 请求req
    • req.params.xx //读取url返回:后面的xx参数
    • req.path //读取url返回/后面的url
    • req.query //读取?后面的参数
  • 响应res
    • sss
编辑 (opens new window)
#node
上次更新: 2022/05/30, 17:59:57
ng题目
Node服务

← ng题目 Node服务→

最近更新
01
远程办公的个人思考
02-21
02
SEO
01-02
03
NFT的价值
12-27
更多文章>
Theme by Vdoing | Copyright © 2019-2025 夏天夏 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式