一直以来,作为前端开发,在公司都是先写好页面,然后再跟后端合作,将数据填入前端页面中,但是偶尔自己闲来无事,也会看一些框架什么的,然后利用框架做个单页面应用啊,应用什么的,这时候页面的数据总是一些假数据,而关于数据请求的部分就没办法做(因为没有后台嘛),所以我感觉是时候学习一下节点了,这对于我以后要学的webpack,前端工程化等也有一定帮助。
作为前端,因为经常用到喘不过气,webpack等工具,所以我们最常见到的是npm和package.json,所以先总结一下它们俩。
<强>初始化强>
美元npm init 或 美元npm init - y
在做前端开发的时候,我们经常会用到构建工具,例如吞咽,webpack等,为了让别人也可以参与进的来,我们需要告诉别人项目有些什么依赖包,然后让别人也安装同样的依赖包,而npm init产生的package.json就是用来记录我们项目中的依赖的,同样的,在做节点开发的时候,也会用刀依赖包,同样需要package.json记录。
在终端输入npm init会询问包。json的各种信息,从而确认。如果全部使用默认值,可以直接在终端输入npm init - y快速生成package.json。
<>强安装依赖包强>
美元npm安装& lt;包name>& lt;包name>… 美元npm安装& lt;包name>- g 美元npm安装& lt;包name>——保存 美元npm安装& lt;包name>——save-dev 美元npm安装& lt; pacakage name>——O//save-optional - b: save-bundle - e:——save-exact >之前<代码> npm安装& lt;包name>- g代码>表示全局安装,需要注意的是全局模式并不是将一个模块安装包安装为一个全局包的意思,它并不意味着可以从任何地方通过需要()来引,用g的含义是将一个包安装为全局可用的可执行命令。这意味着,所有通过- g安装的包都可以在终端以命令方式运行,例如吞咽,webpack等。
<代码>,保存代码>与<代码>——save-dev> 代码的区别在于前者是生产环境中项目运行需要的依赖,安装后被记录在package.json中的依赖关键字下;而后者是开发时候需要的依赖,安装后被记录在devDependencies关键字下。
同样<代码>——O/B/E> 代码分别会被记录到对应的关键字下。
<强>更新依赖包强>
美元npm更新 美元npm更新- g 美元npm过时 美元npm过时- g >之前在项目目录下运行<代码> npm更新> 代码可以升级项目中所用依赖到最新版本,而<代码> npm更新- g> 代码则可以升级全局安装的依赖包到最新版。
<代码> npm过时的> 代码用于检查模块是否过时并列出。
<>强卸载依赖强>
美元npm卸载& lt;包name>& lt;包name>… 美元npm卸载& lt;包name>- g 美元npm卸载& lt;包name>——保存 美元npm卸载& lt;包name>——save-dev >之前使用<代码> npm卸载> 代码可以卸载依赖,但是卸载后,在package.json中的纪录并不会被删除,要想在卸载依赖的同时删除在包中。json中的纪录,需要在卸载的时候使用安装时的所有的选项,例如,如果安装时候使用了<代码> npm安装& lt;包name>——保存> 代码则卸载的时候,同样使用<代码> npm卸载& lt; pacakage name>——保存> 代码,而如果使用了<代码>——save-dev> 代码,卸载时候也需要加相同的选项。
<强>使用自定义npm命令强>
在package.json中,有一个<代码> 代码>脚本关键字,只需要在该关键字内写入自定义命令以及对应执行的实际命令即可。
"脚本":{ “测试”:“nonde。/. js”, “开发”:“杯——gulpfile gulpfile-dev.js”, “构建”:“杯——gulpfile gulpfile-build.js” }上面的配置中,只要我们在终端运行npm dev就是运行了一大口,gulpfile gulpfile-dev.js,这样就省去了我们在终端输入很长的一段命令,非常方便。
<强>其他强>
<代码> npm视图& lt; pacakage name> 代码可以查看包的包。json文件,如果只是看包的某个特性,在后面加上相应的关键即可,例如<代码> npm v zepto版本> 代码就是查看当前安装的zepto的版本,v是视图的简写。
<代码> npm ls> 代码可以分析出当前当前项目下能够通过模块路径找到的所有包,并生成依赖树。
详解Nodejs之npm&package.json