NodeJs模块化与JavaScript的包管理工具

Js:模块化规范的文章链接:https://blog.csdn.net/Y1914960928/article/details/131793004?spm=1011.2415.3001.5331

一、模块化:

1、导入文件的注意事项:

① 导入路径建议写 相对路径,且不能省略 ./../

② 文件的后缀如果是 js 或者 json,则可以省略后缀名

③ 如果导入的文件不是 js 或者 json,则以 js 文件进行处理

④ 如果导入的路径是个文件夹:

  • 检测文件夹下 package.json 文件是否存在,不存在则找 index.js 或者 index.json
  • package.json 文件存在,找 package.jsonmain 属性和属性值(引用的文件)
  • main 属性和属性值(引用的文件)存在,导入引用文件,不存在则报错。
  • index.js 或者 index.json存在,导入文件,不存在则报错。

在这里插入图片描述

2、导入自定义模块,require函数的工作流程:

① 将拿到的 相对路径 转为 绝对路径,然后定位到目标文件

② 进行缓存检测:

当前导入的模块文件,是否在缓存中。如果在缓存中,则直接在缓存中读取

③ 如果不在缓存中,则读取目标文件中的代码

④ 将拿到的目标文件的代码,用一个函数(立即执行函数)进行包裹并执行

可以在模块文件中通过 arguments.callee.toString() 来查看包裹函数

在这里插入图片描述

⑤ 将暴露模块的值放入缓存中

⑥ 返回 module.exports 的值

3、导入npm模块,require函数的工作流程:

① 在当前文件夹下的 node_modules 文件夹中寻找与引入模块同名的文件夹

找到引入模块同名的文件夹后,在引入模块同名的文件夹中找 package.json文件,然后找 package.jsonmain 属性和属性值(引用的文件)

② 如果 在当前文件夹下的 node_modules 文件夹中没有找到与引入模块同名的文件夹,则在上级目录中下的 node_modules 中寻找,直至找到磁盘根目录。

如果找到磁盘根目录,仍没有找到,则报错

二、包管理工具:

详细的使用文章:https://blog.csdn.net/Y1914960928/article/details/134706252

1、让 node 的应用程序自动重启:

① 安装命令:npm i -g nodemon

② 使用:nodemon 文件路径

③ 查看nodemon的安装路径:npm -g bin

2、npm 发布包:

① 新增一个包文件夹,在该文件夹中进行包的初始化:npm init

在这里插入图片描述

② 在该文件夹下新增入口文件 index.js(入口文件的名称与 package.json中的 main属性值一致), 在文件中声明函数,并且将数据进行暴露:

在这里插入图片描述

③ 注册账号: https://www.npmjs.com/signup

④ 确定使用的是官方镜像nrm ls

如果不是官方镜像,则使用nrm use npm修改为官方镜像

⑤ 登录账号:npm login

在这里插入图片描述

⑥ 发布包:npm publish

如果出现如下错误,请检查:

  • 是否登入正确的账户:npm whoami
  • 当前的包名是否被占用
    在这里插入图片描述
    在这里插入图片描述

3、npm 更新包:

① 更新包中的代码:

在这里插入图片描述

② 测试代码是否可用:

新建一个 test.js 文件进行测试:

在这里插入图片描述

③ 修改 package.json 中的版本号:

在这里插入图片描述

④ 发布更新:npm publish

4、npm 删除包:npm unpublish

删除包需要满足的条件:https://docs.npmjs.com/policies/unpublish
在这里插入图片描述

5、扩展:

① 其它语言的包管理工具:

(1)PHPcomposer
(2)Pythonpip
(3)Javamaven
(4)Gogo mod
(5)RubyrubyGems

② 操作系统的包管理工具:

(1)Centosyum

https://packages.debian.org/stable/

(2)Ubuntuapt

https://packages.ubuntu.com/

(3)MacOShomebrew

https://brew.sh/

(4)Windowschocolatey

https://chocolatey.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值