web前端开发之JavaScript:npm简介

网友投稿 892 2022-05-29

包简介

单个js文件就是一个模块,放文件夹里面就是package。报就是将一组相关的模块组合到一起,行程一组完成的工具。CommonJS的包规范由包结构和包描述文件两个部分组成。包描述文件用于表达非代码相关的信息,它是一个json格式的文件,位于包的根目录下,是包的重要组成部分。json文件里不能写注释。

包实际上就是一个压缩文件,解压以后还原为目录。符合规范的目录,应该包含如下文件:

-package.json 描述文件

-bin 可执行二进制文件

-lib js代码

-doc 文档

web前端开发之JavaScript:npm简介

-test 单元测试

package.json

它位于模块的目录下,用于定义包的属性。该文件中定义了当前项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据 ) 。package.json文件就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。

package.json中的字段   json文件中不能有注释

------name(包名)、description(描述)、version(版本)、keywords(关键字)、maintainers(主贡献)、contributors(贡献者)、bugs(bug地址)、licenses(协议)、repositories(仓库git地址)、dependencies(依赖)、homepage(主页)、os(系统)、cpu、engine(引擎)、builtin、directories、implements、scripts、author、bin(可执行文件)、main(包的主要的文件)、devDependencies。

NPM简介

NPM(Node Package Manager),npm帮助node完成第三方模块的发布、安装和依赖。npm是javaScript世界的包管理工具并且是Node.js平台的默认包管理工具,通过npm可以安装、共享、分发代码,管理项目依赖关系。简单来说就是一个个别人写好的模块,通过下载引用后,就可以直接使用其API,帮助自己更快的开发,它被集成在node中,安装node便会自动安装nom。

常用的命令:

npm -v  --查看版本

npm

npm search 包名

npm install 包名 --install可以简写为i

npm install 包名 -g  --全局安装(一般都是一些工具)

npm init  --初始化命令,会在目录下创建package.json。

npm version --查看所有模块的版本

npm remove 包名 --删除包,可以简写为npm r 包名

npm install 包名 --save --安装包并添加到依赖中

npm install --下载当前项目所依赖的包

npm install 文件路径 --从本地安装

npm install 包名 -registry=地址  --从镜像源安装

npm config set registry 地址  --设置镜像源

node的安装分为全局模式和本地模式。一般情况下会以本地模式运行,包会被安装到Node的安装目录下的node_modules下。

全局安装命令为npm install -g moduleName。或者使用npm set global=true来设定安装模式,npm get global可以查看当前使用的安装模式。

示例:npm install express默认会安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如 npm install express@3.0.6

npm install -g将包安装到全局环境中但是代码中,直接通过require()的方式是没有办法调用全局安装额包的。全局的安装时供命令行使用的

通过package.json进行npm安装

如果我们的项目依赖了很多package,一个一个地安装那将是个体力活。我们可以将项目依赖的包都在package.json这个文件里声明,然后一行命令搞定:

npm install

使用场景

常见的使用场景有以下几种:

允许用户从NPM服务器下载别人编写的第三方包到本地使用。

允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功:

配置CNPM

因为npm的服务器在国外,在网络状态不好的情况下引入一个模块会因为网络延迟而失败,可以使用淘宝的镜像cnpm,针对npm,淘宝在国内镜像了一份npm包管理工具,可在国内直接下载,更快,缺点就是可能无法实时更新

命令行代码:npm install -g cnpm --registry=https://registry.npm.taobao.org

node搜索包的流程

通过npm下载的包都放到node_modules文件夹中,直接通过包名引入即可使用。如var math = require("math"),然后math.add(x,y)。node在使用模块名字来引入模块时,它首先会在当前目录的node_modules中寻找是否含有该模块-如果有则直接使用,如果没有则去上一级目录的node_modules中寻找-如果有则直接使用,如果没有则再去上一级目录寻找,直到找到为止,一直到找到磁盘的根目录,如果依然没有,则报错。

书山有路勤为径,学海无涯苦作舟。下次见!

npm Node.js

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Science:机器人可以通过示教相互学会新技能
下一篇:华为云GaussDB(DWS)携手兴盛优选,一站式实现数据业务科学决策
相关文章