当前位置: 首页 > 后端技术 > Node.js

Nodejs的npm&package.json

时间:2023-04-04 01:23:41 Node.js

,作为前端开发,公司总是先写好页面,再配合后端将数据填充到前端页面。一些框架什么的,然后用框架做一个单页应用,app什么的。这个时候页面上的数据总是一些假数据,关于数据请求的部分是没办法做的(因为没有后台)。所以我觉得是时候学习一下node了,这对我以后学习webpack,前端工程等也有帮助。如何开始学习node首先介绍几个我入门的教程:七天学nodejs:https://nqdeng.github.io/7-days-nodejs/rookietutorial-nodejs教程:http://www.runoob。com/nodejs/nodejs-tutorial.html这两个教程比较简单,所以看完这两个教程,你对nodejs只有一个大概的了解,然后可以看看知水大神的node教程(<字体颜色='red'>needaladder还在更新中...)node.js高级编程:https://www.youtube.com/watch?v=5YpYvrvVJ6Y&list=PLsdWTv8SAAr7_ufM68jgykoOc5WvK97kb一开始问了很多人如何开始学习nodejs,很多人推荐朴灵的《深入浅出Node.js》,但是说实话这本书不适合初学者,还是有难度,因为这本书会讲很多node的原理,比较详细,所以我觉得可以一起用一下。因为目前在自己摸索学习中,所以这里先说说学习node。作为前端,因为经常用到gulp、webpack等工具,我们看到最多的就是npm和package.json,所以先总结一下。npminitialization$npminitor$npminit--y在做前端开发的时候,我们经常会用到构建工具,比如gulp,webpack等,为了让别人参与,我们需要告诉别人这个项目有哪些依赖.然后让别人安装同样的依赖包,npminit生成的package.json用于记录我们项目中的依赖。同样,我们在做node开发的时候,也会用到knife的依赖包,同样需要package.json记录。在终端输入npminit会询问package.json的各种信息以确认。如果全部使用默认值,可以直接在终端输入npminit--y快速生成package.json。安装依赖包$npminstall<包名><包名>...$npminstall<包名>-g$npminstall<包名>--save$npminstall<包名>--save-dev$npminstall--O//--save-optional-B:--save-bundle-E:--save-exactnpminstall-g表示全局安装,需要注意的是全局模式不是将模块安装包安装为全局包并不意味着它可以从任何地方被require()引用。-g的意思是安装一个包作为全局可用的可执行命令。这意味着所有通过-g安装的包都可以在终端中作为命令运行,例如gulp、webpack等。--save和--save-dev的区别在于前者是项目运行所需要的依赖生产环境,安装后记录在package.json中的dependencies关键字下;后者是开发所需的依赖,安装后记录在devDependencies关键字下Documented。同样--O/B/E会被记录在相应的关键词下。更新依赖包$npmupdate$npmupdate-g$npmoutdated$npmoutdated-g在项目目录下运行npmupdate可以将项目中使用的依赖升级到最新版本,而npmupdate-g可以升级全局安装的依赖包到新的。npmoutdated用于检查模块是否过时并列出它们。卸载依赖项$npmuninstall...$npmuninstall-g$npmuninstall--save$npmuninstall--save-devusenpmuninstall可以卸载依赖,但是卸载后package.json中的记录不会被删除。如果你想在卸载依赖时删除package.json中的记录,你需要使用卸载时的所有选项。例如,如果使用npminstall--save进行安装,则npmuninstall--save也用于卸载,如果使用--save-dev,则同样需要进行卸载选项。使用自定义npm命令在package.json中,有一个scripts关键字,你只需要在这个关键字中编写自定义命令和对应的实际要执行的命令即可。“脚本”:{“测试”:“nonde./test.js”,“开发”:“gulp--gulpfilegulpfile-dev.js”,“build”:“gulp--gulpfilegulpfile-build.js”}在上面的配置中,我们只要在终端运行npmdev,运行gulp--gulpfilegulpfile-dev.js,这样我们就不用在终端输入很长的命令了,非常方便。其他npmview可以查看包的package.json文件。如果只想查看包的某个功能,可以在最后添加相应的key。比如npmvzeptoversion就是查看当前安装的zepto的版本,v是view的简写。npmls可以分析当前项目下通过模块路径可以找到的所有包,并生成依赖树。npmdoc可以打开依赖包的官网,其实就是打开package.json中的首页。package.json文件运行npminit后会生成一个package.json文件,用于记录项目中使用的依赖和项目的配置信息(如名称、版本、许可等)。npminstall命令会根据这个配置文件自动下载项目运行开发所需的依赖。一个比较完整的package.json文件如下:{"name":"project","version":"1.0.0","author":"张三","description":"第一个node.js程序","keywords":["node.js","javascript"],"repository":{"type":"git","url":"https://path/to/url"},"license":"MIT","engines":{"node":"0.10.x"},"bugs":{"url":"http://path/to/bug","email":"bug@example.com"},"contributors":[{"name":"Lisi","email":"lisi@example.com"}],"scripts":{"start":"nodeindex.js"},"dependencies":{"express":"latest","mongoose":"~3.8.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0"}}package.json中一些关键字的含义:1.name:包名2.version:版本号3.description:包描述4.homepage:包的官网url5.autor:名称包的作者6.contributors:包的其他贡献者7.dependencies:依赖包列表,使用npminstall安装依赖包到node_medule目录8.repository:存放包代码的地方,可以是git或svn9.keywords:关键字10.scripts:脚本描述对象。它主要被包管理器用来安装、编译、测试和卸载包。例子如下:"scripts":{"install":"install.js","test":"test.js"}11.main:moduleimportrequire()方法引入包时,会检查这个fieldfirst并将其作为包中其他模块的入口。如果该字段不存在,node会检查目录下的index.js、index.node、index.json作为默认入口。12.devDependencies:有些模块在开发时只需要依赖。配置该属性可以提示该包的后续开发者安装依赖包。以上是node中npm和package.json的总结。最后在写这篇文章的时候,找到了阮一峰老师的一篇关于js的教程,JavaScript标准参考教程,应该是阮一峰老师最新的关于js的教程。里面有关于node的解释,你可以看看。