Npm

Npm


DOS

dos目录操作

dir 查看当前目录下的所有文件 

tree 以树状结构展示当前目录下的所有文件及子目录下的所有文件

cd 文件夹名称   进入当前目录下的某一个目录

cd..  返回上一级目录

d: 切换盘符到d盘

dos文件操作

md test 创建test文件夹

rd test 移除文件夹

xcopy test test2 复制文件夹

copy index.js test.js 拷贝一份文件

type nul>index.js 创建文件

echo "console.log('hello')" >index.js 向文本中写入内容

type index.js 查看文件内的文本内容

ren index.js abc.js 给文件或者目录重命名

del index.js 删除文件

move index.js a 移动文件或文件夹(可重命名)

其他命令

cls 清屏

ipconfig 查看当前电脑ip信息

ping www.baidu.com 测试某一个链接地址的网速 

systeminfo 查看电脑信息

ctrl+` vscode打开集成终端

ctrl+c 停止当前命令

复制文本:选中后右键

粘贴文本:右键

linux系统命令:远程服务器/mac本

    找到"终端"打开
    根目录只有一个 /
    默认打开的终端:~ 当前用户的文件夹
    去某个文件夹:cd /aa/bb/
    查看当前文件夹下的所有文件和文件夹:ls
    创建文件夹:mkdir 文件夹名称
    删除文件夹:rm -rf 文件夹名称
    创建文件:touch 文件名称
    删除文件:rm -rf 文件名称
    给文件中写内容:echo 内容 > 文件名称
    清屏:clear
    查看ip:ifconfig


npm操作


初始化

npm init 文件夹由npm包管理器管理

package name:   //包名称
version:		//版本号
description:	//描述
entry point:	//切入点 检测主文件
test command:	//测试命令 用于单元调试
git repository:	//开源代码托管地址
keywords:		//关键字
author:			//作者
license:		//认证号

package.json

{
  "name": "exe",  		//包名 全网唯一
  "version": "1.0.0",  	//版本号
  "description": "",  	//描述
  "main": "index.js",  	//主要 功能js
  "keywords": [],     	//关键字
  "author": "",			//作者
  "license": "ISC",		//认证
  "scripts": {
    "test": "react-scripts test --env=jsdom",		//脚本
  },
  "bugs": {
    "url":"xxx"			//bug提交地址
  },
  "homepage": "xxx"		//主页地址
  "devDependencies": {
    "gulp": "^4.0.2"	//开发依赖
  },
  "dependencies": {		//生产依赖
    "jquery": "^3.6.0",
    "lodash": "^4.17.21",
    "mysql": "^2.18.1",
    "underscore": "^1.13.2"
  }
}

node package version

13.4.6
major:13 主版本号
minor:4 副版本号
patch:6 补丁号(奇数不稳定 偶数稳定)

npm版本符号

^:锁定major 其他默认最高
~:锁定major和minor 其他最高
空:锁定major和minor和patch
*:最新版本

一般配合 npm update 使用

查看包所有版本号

npm view 模块 versions




脚本script

可自定义运行脚本

"dev":"node ./xxx.js"

运行时为 npm run dev

特殊脚本start test 可不用加run

"start":"node ./xxx.js"

并行串行

"dev":"node ./xxx.js & node ./yyy.js" 并行
"dev":"node ./xxx.js && node ./yyy.js" 串行


下载包

npm install xxx

默认安装最新版本 安装指定版本 npm install bootstrap@3.3.7[安装3.3.7版本的bootstrap]

全局安装
npm install --global xxx 给全局安装xxx

npm i -g xxx

安装开发依赖
npm i --save-dev xxx

npm i -D xxx


安装生产依赖
npm i --save xxx

npm i -s xxx


安装所有依赖
npm i


删除包
npm uninstall xxx

清除缓存
npm cache clear -f [-f 强制]

强制下载(版本冲突时不推荐)
npm install xxx --force


忽略引用包版本不同的问题下载(版本冲突时推荐)
npm install xxx --legacy-peer-deps

npx

一个npm包执行器,指在提高从npm注册表使用软件包时的体验 ,
npm使得它非常容易地安装和管理托管在注册表上的依赖项,
npx使得使用CLI工具和其他托管在注册表。

npx 安装为临时安装 不会担心长期污染

–no-install 强制使用本地模块 没有会报错
npx --no-install http-server

–ignor-existing 忽略本地模块 强制安装 用于使用最新版本等
npx --ignor-existing http-server



npm拓展


获取权限

(1)以管理员身份运行vs code

(2)在终端执行:get-ExecutionPolicy,显示Restricted(表示状态是禁止的)

(3)在终端执行:set-ExecutionPolicy RemoteSigned

(4)在终端执行:get-ExecutionPolicy,显示RemoteSigned

npm切换源

npm config get registry #查看npm当前镜像源
npm config set registry https://registry.npm.taobao.org #npm镜像源设置为淘宝



yarn 2.0

快速、可靠、安全的依赖管理工具

初始化一个新项目

yarn init

添加依赖包

yarn add [package]   #默认安装到生产依赖
yarn add [package]@[version] 
yarn add [package]@[tag] 
yarn add [package] --dev  #安装到开发依赖
yarn add [package] --peer  #安装到peerDependencies
yarn add [package] --optional  #安装到optionalDependencies

升级依赖包

yarn upgrade [package]   #升级依赖
yarn add [package]@[version] 
yarn add [package]@[tag] 

移除依赖包

yarn remove [package]   

安装全部依赖包

yarn 

安装临时依赖包

yarn dlx [package]   

更新全部依赖

yarn up 

yarn切换源

yarn config get registry #查看yarn当前镜像源
yarn config set registry https://registry.npm.taobao.org #yarn镜像源设置为淘宝

nrm源管理

切换镜像源工具

npm install --global nrm 全局安装nrm

nrm --version 查看nrm版本号

nrm ls 查看nrm目录

nrm test 测速

nrm -h 查看当前可选源

nrm use taobao 切换镜像源地址



nodemon

监视服务端源码修改并重启服务端(node monitor /node监视器)

其他进程管理工具(supervisor/forever/pm2)

npm install nodemon -g

nodemon xxx.js

修改package.json 配置启动脚本只监听指定文件变化



http-serve

使用http-server搭建静态资源服务器

npm install http-server --global
npm i http-server -g

修改端口http-server [path] [options]

eg:http-server ./ -p 8888

快捷启动hs


cross-env

运行跨平台设置和使用环境变量的脚本
能提供一个设置环境变量的script,并兼容多系统

npm install --save-dev cross-env

NODE_ENV环境变量将由cross-env设置打印 process.env.NODE_ENV ===‘production’



log4js

js的日志记录

安装后在开发环境配置log.js

const log4js = require('log4js')

log4js.configure({
  appenders: { cheese: { type: 'file', filename: 'cheese.log' }},
  categories: { default: { appenders: ['cheese'], level: 'error' }}
})

const logger = log4js.getLogger('cheese')

logger.level = 'debug'

logger方法

logger.trace()
logger.debug()
logger.info()
logger.warn()
logger.error()
logger.fatal()



http-proxy-middleware

通过中间件正向代理实现跨域

const { createProxyMiddleware } = require('http-proxy-middleware')
//在路由中添加判断
if (/^\/api/.test(url)) {  			//如果路由中带有api(自定义)则设置代理跨域提供接口
  const proxy = createProxyMiddleware('/api', {  //api为暗号   返回的是一个函数proxy
    target: 'http://www.baidu.com', //跨域地址 替换原来的协议及域名
    changeOrigin: true,             //允许切换源
    pathRewrite: {
      '^/api': ''                   //路径重写,将路径中的api去掉(不需要可以不写)
    }
  })
  proxy( req, res )    				//函数调用并传入 res,req
} else {
  console.log('error')
}



爬虫与cheerio

通过http.request请求获得数据流,拼接成字符串再通过cheerio进行过滤,爬取数据,可以通过递归爬连接获取图片视频等

const cheerio = require('cheerio')

function filterData(data) {
  const $ = cheerio.load(data)
  $('选择器').each((index, ele) => {
    console.log($(ele).text());
  })
}

通过cheerio可以在服务器端进行伪DOM操作,代码中function filterData()为http.request获得数据流时的回调函数,cheerio中均为jquery操作



mime

通过文件后缀名返回文件类型

const mime = require('mime')
const fs = require('fs')

require('http').createServer((req, res) => {
  const urlString = req.url
  const type = mime.getType(urlString.split('.')[1])  	//获取query中请求文件后缀并转换为响应头
  res.writeHead(200, {
    'content-type': type								//设置相应的响应头
  })
  const file = fs.readSync(`.${ urlString }`)			//fs读取静态文件并返回
  res.end(file)
})
  .listen(8080, () => {
    console.log('listening at 8080');
  })



json-server

部署静态服务器 访问api返回设置好的json数据

配置json-server

const market = require('market.json的路径')
const focus = require('focus.json的路径')
module.exports = () => {   //固定语法
  return {
    market,
    focus
  }
}

配置api

{
  "/api/market":"/market",
  "/api/focus":"/focus"
}

键跟值作为路由都能返回数据,便于区分加上/api

启动json-server

json-server ./配置json-server.js的路径  -r  ./配置api.json的路径 -p 9000 --watch

-r 配置路由
-p 配置端口
–watch 监听



jsonwebtoken

生成加密token

对称加密

const jwt = require('jsonwebtoken')

const tk = jwt.sign({ username: 'admin' }, 'cccc') //加密 第一个参数为需要加密的参数,第二个为密钥
const result = jwt.verify(tk, 'cccc')				//解密 第一个参数为token,第二个为密钥

非对称加密

生成公钥及私钥

> openssl

#生成私钥:
openssl > genrsa -out rsa_private_key.pem 2048   #生成多少位token

#根据私钥生成公钥
openssl > rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

通过fs文件读取公钥及私钥

const privateKey = fs.readFileSync('路径下的rsa_private_key.pem')
const tk = jwt.sign({ username: 'admin' }, privateKey, { algorithm: 'RS256' }) 
				//加密,第一个参数为加密的数据,第二个为私钥,第三个为加密算法(非对称)
				
const publicKey = fs.readFileSync('路径下的rsa_public_key.pem')
const result = jwt.verify(tk, publicKey)
				//解密,第一个参数为token,第二个为公钥



dayjs

用于处理时间日期对象

 npm install dayjs --save

<!--导入dayjs的库文件-->
<script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.4.1/dayjs.min.js"></script>
//直接调用dayjs()得到的当前时间
//dayjs(给定的日期时间)得到指定的日期
const drStr = dayjs().format('YYYY-MM-DD HH:mm:ss')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Raccom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值