前端技术-npm 包管理工具 | 学习笔记

简介: 简介:快速学习前端技术-npm 包管理工具

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):前端技术-npm 包管理工具 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11319


前端技术-npm 包管理工具

 

内容分介绍

一、npm 简介

二、演示 npm 具体操作


一、npm 简介

1、什么是 NPM

NPM 全称 Node Package Manager,是 Node.js 包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是 Nodejs 的包管理工具,相当于前端的 Maven (在后端开发中,使用过 maven,maven 用于构建项目管理 jar 依赖,联网下载依赖,npm 类似于 maven 用在前端中,管理前端js依赖,联网下载 js 依赖,比如 jquery)

2.安装 npm

在安装 node.js 时 npm 也会安装上

查看是否安装成功,使用命令 npm-v

在终端中打开

e:\work\vs1010\axiosdemo>npm-v

6.4.1

回车出现

e:\work\vs1010\axiosdemo>证明 npm 已经安装成功

3.NPM 工具的安装位置

通过 npm 可以很方便地下载 js 库,管理前端工程。

Nodejs 默认安装的 npm 包和工具的位置:Nodejs 目录\node_modules

在这个目录下你可以看见 npm 目录,npm 本身就是被 NPM 包管理器管理的一个工具,说明 Node.js 已经集成了 npm 工具

 

二、演示 npm 具体操作

1.npm 项目初始化操作

新建文件夹名为 npmdemo,前端不仅是简单写页面,里面同样可以做各种功能,npm 对项目进行初始化,使它变成前端项目,不仅仅是一个普通文件夹

在 npmdemo 右键打开终端,使用命令 npm init,

e:\work\vs1010\axiosdemo>npm init

回车

This utility will walk you through creating a package.json file.

It only covers the most common items, and tries to guess sensible defaults.

see ´npm help json'for definitive documentation on these fields

and exactly what they do.

Use ´npm install <pkg>'afterwards to install a package and

save it as a dependency in the package.json file.

Press ^C at any time to guit.

package name: <npmdemo>

这里不是报错,是让你输入信息,一般使用默认信息 package name(包名字)为npmdemo(项目名字)点击回车

version:(1.0.0)版本号

description:项目描述

entry point:(index.js)  程序入口前端入口一般为js文件

test command:测试的东西

git repository:git的仓库

keywords:

author:

license:(ISC)

About to write to e:work\vs1010\npmdemo\package.json:  

Is this OK? (yes)是否确定,写yes回车出现

e:\work\vs1010\axiosdemo>表明项目初始化完成

初始化完成后,可以看到在 npmdemo 下出现一个文件夹,文件名为package.json,类似于后端 pom.xml 文件

刚才操作过程中点了很多次回车,如何让它全部使用默认不需要点击回车?

需要将命令简化,e:\work\vs1010\axiosdemo>npm init-y (-y表示使用默认)回车后文件直接生成

"name": "npmdemo"

"version": "1.0.0",

"description":""

"main": "index.js",

回车后出现这些基本信息,表明初始化已经做到

2.npm 下载 js 依赖

(1)修改 npm 镜像

NPM 官方的管理的包都是从http://npmjs.com下载的,但是这个网站在国内速度很慢。

这里推荐使用淘宝NPM镜像http://npm.taobao.org/,淘宝NPM镜像是 一个完整npmjs.com 镜像,同步频率目前为10分钟一次,以保证尽量与官方服务同步。

设置镜像地址:

#经过下面的配置,以后所有的 npm install 都会经过淘宝的镜像地址下载  

npm config set registry https://registry.npm.taobao.org

#查看 npm 配置信息

npm config list

e:\work\vs1010\npmdemo>npm config set registry https://registry.npm.taobao.org首先设置淘宝镜像回车出现e:\work\vs1010\npmdemo>

查看镜像是否成功e:\work\vs1010\npmdemo>后加npm config list回车

e:\work\vs1010\npmdemo>npm config set registry https://registry.npm.taobao.org  e:\work\vs1010\npmdemo>npm config list

;cli configs

metrics-registry ="https://registry.npm.taobao.org/"

scope=""

user-agent -="npm/6.4.1node/v10.14.2 win32 x64"  

;userconfig c:\users\lenovo\.npmrc

registry="https://registry.npm.taobao.org"

;builtin config undefined

prefix = "c:\\users\\lenovo\\AppData\\Roaming\\npm"

;node bin location =D:\Program Files\nodejs\node.exe

;cwd=e:\work\vs1010\npmdemo

;HOME=C:\Users\lenovo

;"npm config ls -l" to show all defaults.

e:\work\vs1010\npmdemo>

表明淘宝镜像已经完成

(2)npm install 命令的使用(npm install 依赖名称)

e:\work\vs1010\npmdemo>npm install jquery

回车

npm notice created a lockfile as package-lock.json. You should commit this file.  

npm  wARN npmdemo@1.0.0No description

npm  wARN npmdemo@1.0.0 No repository field.

+jquery@3.4.1

added 1 package from l contributor ln 1.796s

e:\work\vs1010\npmdemo>

下载以后 npmdemo 下多出 node_modules 文件夹,

node_modules 下有 jQuery,还多了一个 package-lock.json 文件

package-lock.json 中多了

"dependencies":{

"jquery":"^3.4.1"

就是依赖,3.4.1表示目前所下依赖为最新版本lock表示锁定当前项目只能用3.4.1版本,不可以用别的版本

#如果安装时想指定特定的版本

npm install jquery@2.1x

(3)根据 package.json 文件下载依赖

在配置文件中有

"dependencies":{

"jquery":"^3.4.1"

使用 npm install 命令下载

e:\work\vs1010\npmdemo>npm install

npm wARN npmdemo@1.0.0No description

npmWARN npmdemo@1.0.0 No repository field.  

added 1 package from 1 contributor in 0.852s  

e:\work\vs 1010\npmdemo>

文件夹出现,表明依赖下载成功,必须在项目文件中点击右键打开进行操作,不可以在别的文件中打开操作

(4)项目中相关插件

devDependencies 节点:开发时的依赖包,项目打包到生产环境的时候不包含的依赖

#使用-D 梦数将依赖添加到 devDependencies 节点

npm install --save-dev eslint

#或

npm install  -Deslint

全局安装

Node.js 全局安装的 npm 包和工具的位置:用户目录\AppData\Roaming\npm\node_modules  #一些命令行工具常使用全局安装的方式

npm install -g webpack

(5)其他命令

哈哈哈哈哈

#更新包(更新到最新版本)  

npm update 包名

#全局更新

npm update -g 包名

#卸载包

npm uninstall 包名  

#全局卸载

npm  uninstall -g 包名

相关文章
|
27天前
|
前端开发 JavaScript 持续交付
前端技术趋势:2024年值得关注的几个方面
【10月更文挑战第9天】前端技术趋势:2024年值得关注的几个方面
|
13天前
|
Cloud Native 前端开发 JavaScript
前端开发者必看:不懂云原生你就OUT了!揭秘如何用云原生技术提升项目部署与全栈能力
【10月更文挑战第23天】随着云计算的发展,云原生逐渐成为技术热点。前端开发者了解云原生有助于提升部署与运维效率、实现微服务化、掌握全栈开发能力和利用丰富技术生态。本文通过示例代码介绍云原生在前端项目中的应用,帮助开发者更好地理解其重要性。
45 0
|
29天前
|
存储 前端开发 JavaScript
前端技术趋势:在动态变化中寻求稳定
【10月更文挑战第7天】前端技术趋势:在动态变化中寻求稳定
43 0
|
29天前
|
前端开发 数据可视化 JavaScript
现代前端开发:掌握关键技术与趋势
【10月更文挑战第7天】现代前端开发:掌握关键技术与趋势
46 0
|
6天前
|
前端开发 JavaScript API
惊呆了!这些前端技术竟然能让你的网站实现无缝滚动效果!
【10月更文挑战第30天】本文介绍了几种实现网页无缝滚动的技术,包括CSS3的`scroll-snap`属性、JavaScript的Intersection Observer API以及现代前端框架如React和Vue的动画库。通过示例代码展示了如何使用这些技术,帮助开发者轻松实现流畅的滚动效果,提升用户体验。
75 29
|
5天前
|
编解码 前端开发 JavaScript
前端界的黑科技:掌握这些技术,让你的网站秒变未来感十足!
【10月更文挑战第31天】前端技术日新月异,黑科技层出不穷,让网页更加美观、交互更加丰富。本文通过响应式布局与媒体查询、前端框架与组件化开发等案例,展示这些技术如何让网站充满未来感。响应式布局使网站适应不同设备,前端框架如React、Vue则提高开发效率和代码质量。
13 3
|
6天前
|
JSON 前端开发 搜索推荐
惊!这些前端技术竟然能让你的网站实现个性化推荐功能!
【10月更文挑战第30天】随着互联网技术的发展,个性化推荐已成为提升用户体验的重要手段。前端技术如JavaScript通过捕获用户行为数据、实时更新推荐结果等方式,在实现个性化推荐中扮演关键角色。本文将深入解析这些技术,并通过示例代码展示其实际应用。
23 4
|
5天前
|
前端开发 JavaScript 数据处理
前端界的宝藏技术:掌握这些,让你的网页秒变交互神器!
【10月更文挑战第31天】前端开发藏有众多宝藏技术,如JavaScript异步编程和Web Components。异步编程通过Promise、async/await实现复杂的网络请求,提高代码可读性;Web Components则允许创建可重用、封装良好的自定义组件,提升代码复用性和独立性。此外,CSS动画、SVG绘图等技术也极大丰富了网页的视觉和交互体验。不断学习和实践,让网页秒变交互神器。
11 2
|
7天前
|
自然语言处理 前端开发 搜索推荐
前端界的黑科技:掌握这些技术,让你的网站秒变智能助手!
【10月更文挑战第30天】随着前端技术的发展,网站正逐渐变成智能助手。本文探讨了四大关键技术:自然语言处理(NLP)使网站理解用户输入;机器学习实现个性化推荐;Web Notifications API发送重要提醒;Web Speech API实现语音交互。通过这些技术,网站不仅能更好地理解用户,还能提供更智能、个性化的服务,提升用户体验。
19 3
|
7天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
22 3

推荐镜像

更多
下一篇
无影云桌面