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 xmallwarning: the default view engine will not be jade in future releaseswarning: use `--view=jade' or `--help' for additional optionscreate : xmall\create : xmall\public\create : xmall\public\javascripts\create : xmall\public\images\create : xmall\public\stylesheets\create : xmall\public\stylesheets\style.csscreate : xmall\routes\create : xmall\routes\index.jscreate : xmall\routes\users.jscreate : xmall\views\create : xmall\views\error.jadecreate : xmall\views\index.jadecreate : xmall\views\layout.jadecreate : xmall\app.jscreate : xmall\package.jsoncreate : xmall\bin\create : xmall\bin\wwwchange directory:> cd xmallinstall dependencies:> npm installrun 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 定义的命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94472.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Mediapipe_Unity_Plugin实现手势识别

GitHub - homuler/MediaPipeUnityPlugin: Unity plugin to run MediaPipehttps://github.com/homuler/MediaPipeUnityPlugin 实现了以下&#xff1a; public enum HandGesture { None, Stop, ThumbsUp, Victory, OK, OpenHand } 核心脚本&#xff1a…

Android 项目构建编译概述

主要内容是Android AOSP源码的管理方式&#xff0c;项目源码的构建和编译&#xff0c;用到比如git、repo、gerrit一些命令工具&#xff0c;以及使用Soong编译系统&#xff0c;编写Android.bp文件的格式样式。 1. Android操作系统堆栈概述 Android 是一个针对多种不同设备类型打…

Python爬虫08_Requests聚焦批量爬取图片

一、Requests聚焦批量爬取图片 import re import requests import os import timeurl https://www.douban.com/ userAgent {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0}#获取整个浏览页面 page_text requests.get(urlur…

Spring Cloud系列—简介

目录 1 单体架构 2 集群与分布式 3 微服务架构 4 Spring Cloud 5 Spring Cloud环境和工程搭建 5.1 服务拆分 5.2 示例 5.2.1 数据库配置 5.2.2 父子项目创建 5.2.3 order_service子项目结构配置 5.2.4 product_service子项目结构配置 5.2.5 服务之间的远程调用 5.…

【普中STM32精灵开发攻略】--第 1 章 如何使用本攻略

学习本开发攻略主要参考的文档有《STM32F1xx 中文参考手册》和《Cortex M3权威指南(中文)》&#xff0c;这两本都是 ST 官方手册&#xff0c;尤其是《STM32F1xx 中文参考手册》&#xff0c;里面包含了 STM32F1 内部所有外设介绍&#xff0c;非常详细。大家在学习 STM32F103的时…

【Docker】RK3576-Debian上使用Docker安装Ubuntu22.04+ROS2

1、简述 RK3576自带Debian12系统,如果要使用ROS2,可以在Debian上直接安装ROS2,缺点是有的ROS包需要源码编译;当然最好是使用Ubuntu系统,可以使用Docker安装,或者构建Ubuntu系统,替换Debian系统。 推荐使用Docker来安装Ubuntu22.04,这里会有个疑问,是否可以直接使用Do…

解决docker load加载tar镜像报json no such file or directory的错误

在使用docker加载离线镜像文件时&#xff0c;出现了json no such file or directory的错误&#xff0c;刚开始以为是压缩包拷贝坏了&#xff0c;重新拷贝了以后还是出现了问题。经过网上查找方案&#xff0c;并且自己实践&#xff0c;采用下面的简单方法就可以搞定。 归结为一句…

《协作画布的深层架构:React与TypeScript构建多人实时绘图应用的核心逻辑》

多人在线协作绘图应用的构建不仅是技术栈的简单组合,更是对实时性、一致性与用户体验的多维挑战。基于React与TypeScript开发这类应用,需要在图形绘制的基础功能之外,解决多用户并发操作的同步难题、状态回溯的逻辑冲突以及大规模协作的性能瓶颈。每一层架构的设计,都需兼顾…

智慧社区(八)——社区人脸识别出入管理系统设计与实现

在社区安全管理日益智能化的背景下&#xff0c;传统的人工登记方式已难以满足高效、精准的管理需求。本文将详细介绍一套基于人脸识别技术的社区出入管理系统&#xff0c;该系统通过整合腾讯云 AI 接口、数据库设计与业务逻辑&#xff0c;实现了居民出入自动识别、记录追踪与访…

嵌入式开发学习———Linux环境下IO进程线程学习(四)

进程相关函数fork创建一个子进程&#xff0c;子进程复制父进程的地址空间。父进程返回子进程PID&#xff0c;子进程返回0。pid_t pid fork(); if (pid 0) { /* 子进程代码 */ } else { /* 父进程代码 */ }getpid获取当前进程的PID。pid_t pid getpid();getppid获取父进程的P…

标记-清除算法中的可达性判定与Chrome DevTools内存分析实践

引言 在现代前端开发中&#xff0c;内存管理是保证应用性能与用户体验的核心技术之一。作为JavaScript运行时的基础机制&#xff0c;标记-清除算法(Mark-and-Sweep) 通过可达性判定决定哪些内存需要回收&#xff0c;而Chrome DevTools提供的Memory工具则为开发者提供了深度的内…

微算法科技(NASDAQ:MLGO)基于量子重加密技术构建区块链数据共享解决方案

随着信息技术的飞速发展&#xff0c;数据已成为数字经济时代的核心生产要素。数据的共享和安全往往是一对难以调和的矛盾。传统的加密方法在面对日益强大的计算能力和复杂的网络攻击时&#xff0c;安全性受到了挑战。微算法科技(NASDAQ&#xff1a;MLGO)通过引入量子重加密技术…

FastAPI快速入门P2:与SpringBoot比较

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 有很多很多不足的地方&#xff0c;欢迎评论交流&#xff0c;感谢您的阅读和评论&#x1f604;。 目录引言1 FastAPI事件管理2 类的使用2.1 初始化方法对…

SAP-ABAP: Open SQL集合函数COUNT(统计行数)、SUM(数值求和)、AVG(平均值)、MAX/MIN(极值)深度指南

SAP Open SQL集合函数深度指南 1. 核心价值与特性函数作用关键特性COUNT统计行数用COUNT(*)包含NULL值行&#xff0c;COUNT(字段)排除NULLSUM数值求和自动过滤NULL值&#xff0c;结果类型与源字段相同AVG平均值必须用TYPE f接收&#xff0c;否则四舍五入导致精度丢失MAX/MIN极值…

【docker】UnionFS联合操作系统

Linux 的 Namespace、CGroups 和 UnionFS 三大技术支撑了 Docker 的实现。 一、为什么需要联合文件系统&#xff1f;在传统操作系统中&#xff0c;每个文件系统都是独立的孤岛。但当我们需要&#xff1a;合并多个目录的内容保持基础系统不变的同时进行修改高效共享重复文件内容…

CTF-XXE 漏洞解题思路总结

一、XXE 漏洞简介XXE (XML External Entity) 漏洞允许攻击者通过构造恶意的 XML 输入&#xff0c;强迫服务器的 XML 解析器执行非预期的操作。在 CTF 场景中&#xff0c;最常见的利用方式是让解析器读取服务器上的敏感文件&#xff0c;并将其内容返回给攻击者。二、核心攻击载荷…

GitLab:一站式 DevOps 平台的全方位解析

GitLab&#xff1a;一站式 DevOps 平台的全方位解析 在当今数字化时代&#xff0c;软件研发的效率与质量直接决定企业的市场竞争力。GitLab 作为全球领先的 DevOps 平台&#xff0c;凭借 “从构思到部署” 的全流程管理能力&#xff0c;已成为无数企业加速软件交付的核心工具。…

Flink富函数:一种更灵活、可扩展的方式来定义数据流的处理逻辑

本文重点 Flink中的富函数类是一组用于处理数据流的函数接口和实现类。富函数类提供了一种更灵活和可扩展的方式来定义数据流的处理逻辑。 富函数类 富函数类是DataStream API提供的一个函数类的接口,所有的Flink函数类都有其Rich版本。富函数类一般是以抽象类的形式出现的。…

【STM32】HAL库中的实现(四):RTC (实时时钟)

&#x1f552;HAL库中的实现&#xff1a;RTC&#xff08;Real-Time Clock&#xff09;实时时钟RTC 是 STM32 的低功耗实时时钟模块&#xff0c;常用于&#xff1a; 实时时间维护&#xff08;年月日时分秒&#xff09;定时唤醒日志时间戳闹钟功能RTC&#xff08;实时时钟&#x…

Pauli 矩阵指数函数展开为显式矩阵 e^A -> B

要展开表达式 为普通矩阵&#xff0c;其中 是 Pauli 矩阵&#xff0c; 是单位向量&#xff0c; 是实数。以下是详细推导步骤&#xff1a;1. Pauli 矩阵的性质Pauli 矩阵定义为&#xff1a;它们满足以下关系&#xff1a;​其中 是 Kronecker delta&#xff0c;​ 是 Levi-…