nodejs 编程基础01-NPM包管理

1:npm 包管理介绍

复制代码
npm 是nodejs 的包管理工具,类似于java 的maven 和 gradle 等,用来解决nodejs 的依赖包问题
使用场景:

 1. 从NPM 服务骑上下载或拉去别人编写好的第三方包到本地进行使用
 2. 将自己编写代码或软件包发布到npm 服务器供他人使用

更换NPM镜像源

复制代码
设置淘宝的镜像源
npm config set registry  https://registry.npm.taobao.org   //这个可能已经失效
可以使用:
npm config set registry https://registry.npmmirror.com
还原官方镜像源
npm config delete registry

初始化项目

复制代码
在项目目录下 执行
npm init 
使用npm install koa 安装 koa 框架 执行完毕之后会当前目录下产生一个模块,在自动生成的node_modeles 文件夹中
在模块中使用koa 需要在代码中写如下的代码:
const koa = require('koa');

C:\Users\Administrator\Desktop\xmall>npm install koa
npm error code CERT_HAS_EXPIRED
npm error errno CERT_HAS_EXPIRED
npm error request to https://registry.npm.taobao.org/koa failed, reason: certificate has expired

解决办法

临时忽略ssl证书验证:作为临时解决方案,你可以通过设置npm配置来忽略SSL证书验证。请注意,这种方法会降低安全性,不推荐作为长期解决方案。

npm config set strict-ssl false

安装完所需的包后,最好将此设置还原,以保持更高的安全性

npm config set strict-ssl true

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/13cd322f5b5d4834ace122b5fb361091.png)

执行完成之后查看挡墙目录

本地安装与全局安装

复制代码
npm 安装包分本地安装和全局安装
默认为本地安装
如果需要全局安装 这需要添加 -g 参数
npm install express-generator -g   //生成express 为服务框架的nodejs 后端项目结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f57ac79acdb64a8aa571274f2d1f0395.png)

安装express脚手架出现如下错误:npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer ...

  1. 在电脑Windows搜索栏搜索Windows PowerShell,并且以管理员身份运行;

  2. 执行命令

    PS C:\Users\Administrator> set-ExecutionPolicy RemoteSigned
    PS C:\Users\Administrator> get-ExecutionPolicy
    RemoteSigned
    PS C:\Users\Administrator> npm install -g cnpm --registry=https://registry.npm.taobao.org
    changed 66 packages in 14s
    changed 66 packages in 13s
    PS C:\Users\Administrator> cnpm install express-generator -g
    Downloading express-generator to D:\Programs\nodejs\node_modules\express-generator_tmp
    Copying D:\Programs\nodejs\node_modules\express-generator_tmp.store\express-generator@4.16.1\node_modules\express-generator to D:\Programs\nodejs\node_modules\express-generator
    Installing express-generator's dependencies to D:\Programs\nodejs\node_modules\express-generator/node_modules
    [1/5] commander@2.15.1 installed at node_modules.store\commander@2.15.1\node_modules\commander
    [2/5] sorted-object@2.0.1 installed at node_modules.store\sorted-object@2.0.1\node_modules\sorted-object
    [3/5] ejs@2.6.1 installed at node_modules.store\ejs@2.6.1\node_modules\ejs
    [4/5] mkdirp@0.5.1 installed at node_modules.store\mkdirp@0.5.1\node_modules\mkdirp
    [5/5] minimatch@3.0.4 installed at node_modules.store\minimatch@3.0.4\node_modules\minimatch
    deprecate mkdirp@0.5.1 Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
    All packages installed (9 packages installed from npm registry, used 569ms(network 566ms), speed 373.4KB/s, json 9(126.63KB), tarball 84.72KB, manifests cache hit 0, etag hit 0 / miss 0)
    [express-generator@4.16.1] link D:\Programs\nodejs\express@ -> D:\Programs\nodejs\node_modules\express-generator\bin\express-cli.js
    创建xmall 项目
    PS C:\Users\Administrator> express xmall

    warning: the default view engine will not be jade in future releases
    warning: use --view=jade' or --help' for additional options
    create : xmall
    create : xmall\public
    create : xmall\public\javascripts
    create : xmall\public\images
    create : xmall\public\stylesheets
    create : xmall\public\stylesheets\style.css
    create : xmall\routes
    create : xmall\routes\index.js
    create : xmall\routes\users.js
    create : xmall\views
    create : xmall\views\error.jade
    create : xmall\views\index.jade
    create : xmall\views\layout.jade
    create : xmall\app.js
    create : xmall\package.json
    create : xmall\bin
    create : xmall\bin\www

    change directory:
    > cd xmall

    install dependencies:
    > npm install

    run the app:
    > SET DEBUG=xmall:* & npm start

根据上面的提示:切换到xmall 目录下

PS C:\Users\Administrator> cd .\xmall

PS C:\Users\Administrator\xmall> npm install

PS C:\Users\Administrator\xmall> SET DEBUG=xmall:* & npm start 这个命令要分开执行否则会出现如下的错误

SET DEBUG=xmall:*

npm start

当 npm start 执行完成 出现如下的内容 表示后端基于 express的脚手架搭建项目完成

在浏览器地址栏目页面中输入:http://127.0.0.1:3000 会出现如下的显示,表示齐纳后端可以正常访问

生产依赖和开发依赖

使用 --save-dev 表示开发依赖

使用 --save 表示生产依赖

都会被保存到 package.json 的 dependencies 中

其他npm 命令

  1. npm uninstall <模块名> [-g] 卸载本地/全局模块
  2. npm list [-g] 查看已经安装的本地或者全局模块
  3. npm update <模块名> [-g] 更新本地/全局模块
  4. npm search <模块名> 搜索模块
  5. npm publish 发布模块到npm仓库
  6. npm unpublish <模块名>@版本号 撤销发布模块到npm仓库
  7. npm config get 读取配置
  8. npm config set 设置配置
  9. npm config delete 设置配置
    10 .npm run <命令> 执行package 中 scripts 定义的命令

yarn 包管理器介绍

PS C:\Users\Administrator\xmall> cnpm install yarn -g

Downloading yarn to D:\Programs\nodejs\node_modules\yarn_tmp

Copying D:\Programs\nodejs\node_modules\yarn_tmp.store\yarn@1.22.22\node_modules\yarn to D:\Programs\nodejs\node_modules\yarn

Installing yarn's dependencies to D:\Programs\nodejs\node_modules\yarn/node_modules

Run 1 script(s) in 101ms.

All packages installed (used 105ms(network 2ms), speed 0B/s, json 0(0B), tarball 0B, manifests cache hit 0, etag hit 0 / miss 0)

yarn@1.22.22\] link D:\\Programs\\nodejs\\yarn@ -\> D:\\Programs\\nodejs\\node_modules\\yarn\\bin\\yarn.js \[yarn@1.22.22\] link D:\\Programs\\nodejs\\yarnpkg@ -\> D:\\Programs\\nodejs\\node_modules\\yarn\\bin\\yarn.js ### yarn的常用命令 1. yarn \[global\] remove \<模块名\> 卸载本地或全集模块 2. yarn \[global\] upgrade \<模块名\> 更新本地或全集模块 3. yarn \[global\] upgrade \<模块名\> 安装本地或全集模块 4. yarn config get 读取配置 5. yarn config set 设置配置 6. yarn config delete 删除配置 7. yarn run \<命令\> 执行package 中 scripts 定义的命令