Node.js入门笔记(一)——环境问题和版本号问题

    其实就是寒假比较无聊搭了这个自己的博客网站,主要是为了提高自己的服务器的利用率,但是最后发现内容实在是少了点,因此去了趟CSDN,把自己的旧博客迁移到了bolgs.nightowl.top上面。起初搭建完成并模仿大佬们植入3D插件和下雪的插件觉得挺好的,但是后来发现其实在编辑的时候还是可以的,但是发布之后无论是手机端还是web端后不太便于阅读,加上没有CSDN这样的社区,自己写的东西也没人看,感觉不太好玩的牙子,因此决定连夜扛着火车跑路。好啦,废话不多说,直接进入正文。


    node.js本质上是一个基于chrome浏览器的V8引擎的js运行环境。换句话说node.js能够执行很多系统级别的api,跨域、文件读写等都能够突破浏览器的安全沙箱的限制。
1.node.js的版本管理工具——nvm

    有些时候可能需要切换node.js的版本,因此需要使用到nvm工具(node version manager)。下载位置:https://github.com/coreybutler/nvm-windows/releases,windows选择setup.zip文件,也就是第三个。下载完成之后,下载node安装包,先安装node,然后安装nvm,在安装nvm的时候的systemlink将路径指向nodejs的安装目录即可。
在这里插入图片描述

    但是需要下载对应的版本的node,主要是用来管理电脑上的多个node版本。其他功能如下可以使用nvm --help,比如:查看当前的计算机位数和node位数,安装install,关闭(打开)版本管理,安装node版本、设置默认版本等。

2.npm全局安装和局部安装

    至于npm的全局安装和局部安装,需要明确如下几种用法:

(1)npm init -y创建依赖说明文件:
此图像的alt属性为空;文件名为image-1-1024x290.png
(2)npm install * 局部安装依赖,也就是说安装完成之后,依赖可以在不同的文件夹中使用。
此图像的alt属性为空;文件名为image-2-1024x398.png
    需要注意的是vscode中的集成终端会报错,需要使用windows自带的cmd工具,可能是由于文件命名含有中文导致的。–dev说明是生产环境安装,-save指的是保存依赖信息到package.json文件里面。这里不是全局安装,因此需要重新调整路径到gulp目录下,也可以手动修改package.json文件,修改脚本,scripts部分,修改为:“test”:“gulp -v”,然后执行npm run test,执行的流程是先找当前目录下的gulp,如果找不到,那么去找node_modules目录下的gulp文件。

(3)npm install * -g 全局安装,需要明确全局安装的位置为:C:\Users\用户名\AppData\Roaming\npm\node_modules。也就是意味着删除依赖还可以直接去这个目录直接手动删除依赖。

(4)npm list 查看安装的依赖之间的内部依赖情况,因为一个包可能还会使用到其他的依赖包,也就解释了安装jquery很少,但是安装gulp却安装了很大一个安装包。npm list | grep gulp只展示当前环境下包的版本,也就是做一个依赖包的筛选。

3.开发环境安装与生产环境安装

    其实安装依赖包的时候不仅可以区分全局和局部,还可以直接区分开发和生产安装。-S安装到生产环境,-D安装到开发环境。在运维上,一般拿到git文件之后,只需要使用npm i --production只安装生产环境下的依赖。

4.其他常用的npm语法

(1)查看某个依赖的具体版本:npm view * versions;

(2)安装具体的某个依赖的具体版本:npm i (依赖名称)@(版本号)-S(或者-D)

5.版本号里面的讲究

    一般软件版本号分为三个等级(..*),从左到右依次是major,minor,patch。major一般是用于大的版本更新,比如系统整改;minor主要是用于主版本号不变的情况下来增加新功能,patch一般是用来debug(一般情况加patch为偶数表示稳定的patch,奇数表示不稳定的patch)。其次,安装版本的时候我们会你发现这个:
此图像的alt属性为空;文件名为image-3.png
这里面有一个上箭头,其实^表示的是只锁定主版本号(默认就是取最新的版本号),~表示锁定主版本号和次版本号(默认patch最新),*表示的是锁定到patch。npm outdate查看当前使用的依赖的过期情况。

6.npm上传包

    我们不仅能够使用别人上传的数据包,还能够自己写npm依赖包供其他人使用。下面简单说一下如何发布包管理工具:
    由于main.js中设置的入口函数(main)为index.js,因此首先需要在index.js中写必要的函数导出代码,这样方便给别人使用,比如如下程序:

const _ = require("lodash");
function myFunction(arr) {    
	return _.chunk(arr, 2);
}
module.exports = myFunction;

使用案例如下(同目录下使用test.js,需要npm install lodash依赖,执行node test.js):

let test = require("./index.js");
console.log(test([1, 2, 3, 4]));

包的代码测试完成之后,接下来就是发布代码了。首先需要使用npm adduser来发布作者信息,结果报错如下,主要是因为使用的镜像不对:(这里用的是淘宝镜像)
此图像的alt属性为空;文件名为image-5.png
    解决方法是切换npm的镜像:npm config set registry https://registry.npmjs.org,然后根据提示输入账号、密码和邮箱验证码(没有账号注册一个:https://www.npmjs.com/)。接下来修改一下必要的配置信息:
此图像的alt属性为空;文件名为image-6.png
最后执行npm publish就能够发表,发表之后展示如下:
此图像的alt属性为空;文件名为image-7-1024x576.png
    最后,对于发布的npm包的使用,和正常的npm包的使用一致,先npm install 安装一下,然后直接引入moonlight1224依赖,然后直接调用就行。修改之后直接使用npm publish就能够修改已上传的版本了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌空暗羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值