位置: 编程技术 - 正文

详解Nodejs之npm&package.json(npm与nodejs)

编辑:rootadmin

推荐整理分享详解Nodejs之npm&package.json(npm与nodejs),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs的npm是什么,node nodejs,nodejs的npm是什么,nodejs mq,npm node_modules,nodejs nodemon,npm node_modules,node nodejs,内容如对您有帮助,希望把文章链接给更多的朋友!

一直以来,作为前端开发,在公司都是先写好页面,然后再跟后端合作,将数据填入前端页面中,但是偶尔自己闲来无事,也会看一些框架什么的,然后利用框架做个单页面应用啊,app什么的,这时候页面的数据总是一些假数据,而关于数据请求的部分就没办法做(因为没有后台嘛)。所以我感觉是时候学习一下node了,这对于我以后要学的webpack,前端工程化等也有一定帮助。作为前端,因为经常用到gulp,webpack等工具,所以我们最常见到的是npm和package.json,所以先总结一下它们俩。

npm

初始化

在做前端开发的时候,我们经常会用到构建工具,例如gulp,webpack等,为了让别人也可以参与进来,我们需要告诉别人项目有些什么依赖包,然后让别人也安装同样的依赖包,而npm init产生的package.json就是用来记录我们项目中的依赖的,同样的,在做node开发的时候,也会用刀依赖包,同样需要package.json记录。

在终端输入npm init会询问package.json的各种信息,从而确认。如果全部使用默认值,可以直接在终端输入npm init --y快速生成package.json。

安装依赖包

npm install <package name> -g 表示全局安装,需要注意的是全局模式并不是将一个模块安装包安装为一个全局包的意思,它并不意味着可以从任何地方通过require()来引用,-g的含义是将一个包安装为全局可用的可执行命令。这意味着,所有通过-g安装的包都可以在终端以命令方式运行,例如gulp,webpack等。

--save与--save-dev的区别在于前者是生产环境中项目运行需要的依赖,安装后被记录在package.json中的dependencies关键字下;而后者是开发时候需要的依赖,安装后被记录在devDependencies关键字下。

同样--O/B/E分别会被记录到对应的关键字下。

更新依赖包

在项目目录下运行npm update可以升级项目中所用依赖到最新版本,而npm update -g则可以升级全局安装的依赖包到最新版。

npm outdated用于检查模块是否过时并列出。

卸载依赖

使用npm uninstall可以卸载依赖,但是卸载后,在package.json中的纪录并不会被删除,要想在卸载依赖的同时删除在package.json中的纪录,需要在卸载的时候使用安装时的所有的选项,例如,如果安装时候使用了npm install <package name> --save则卸载的时候,同样使用npm uninstall <pacakage name> --save,而如果使用了--save-dev,卸载时候也需要加相同的选项。

使用自定义npm命令

在package.json中,有一个scripts关键字,只需要在该关键字内写入自定义命令以及对应执行的实际命令即可。

上面的配置中,只要我们在终端运行npm dev就是运行了gulp --gulpfile gulpfile-dev.js,这样就省去了我们在终端输入很长的一段命令,非常方便。

详解Nodejs之npm&package.json(npm与nodejs)

其他

npm view <pacakage name>可以查看包的package.json文件,如果只是看包的某个特性,在后面加上相应的key即可,例如npm v zepto version就是查看当前安装的zepto的版本,v是view的简写。

npm ls可以分析出当前当前项目下能够通过模块路径找到的所有包,并生成依赖树。

npm doc <package name>可以打开该依赖包的官网,其实就是打开了package.json中的homepage。

package.json文件

在运行npm init后会生成package.json文件,该文件用于记录项目中所用到的依赖以及项目的配置信息(比如名称、版本、许可证等)。npm install命令根据这个配置文件自动下载项目运行和开发所需要的依赖。

一个比较完整的package.json文件如下:

在package.json中一些关键字的含义:

1.name:包名

2.version:版本号

3.description:包的描述

4.homepage:包的官网url

5.autor:包的作者名字

6.contributors:包的其他贡献者

7.dependencies:依赖包的列表,使用npm install可以安装依赖包到node_medule目录下

8.repository:包代码存放的地方,可以是git或者svn

9.keywords:关键字

.scripts:脚本说明对象。它主要被包管理器用来安装、编译、测试和卸载包,示例如下:

.main:模块引入方法require()在引入包时,会优先检查这个字段,并将其作为包中其余模块的入口,如果该字段不存在,则node会检查目录下的index.js,index.node,index.json作为默认入口。

.devDependencies:一些模块只在开发时需要依赖,配置这个属性,可以提示包的后续开发者安装依赖包

标签: npm与nodejs

本文链接地址:https://www.jiuchutong.com/biancheng/382100.html 转载请保留说明!

上一篇:详解nodejs模板引擎制作(nodejs function)

下一篇:CentOS 安装NodeJS V8.0.0的方法(centos 安装完成后无法启动)

  • 制造企业印花税降为50%
  • 企业所得税应纳税所得额怎么算
  • 股东如何收回投资
  • 季末计提所得税可以根据本年利润计算吗?
  • 劳务费专票数量和单价要写吗
  • 小规模纳税人农产品进项税抵扣
  • 小企业以前年度损益调整科目编码
  • 房地产企业购入用于建造商品房的土地使用权
  • 机场工作人员的家属票
  • 品牌管理费是否交增值税
  • 用友t3固定资产计提折旧后没有凭证
  • 企业采购一般应包括什么
  • 不影响利润的跨期发票如何处理?
  • 个人所得税0申报操作流程
  • 一般纳税人可以简易计税的有哪些
  • 土地增值税清算的条件
  • 宽带合同属于什么合同
  • 房屋转租收入会计分录
  • 预提工资的的计提依据
  • 捐赠固定资产资产处置损益
  • 付货款时从货款中扣除的返利怎样做账?
  • 用U盘安装苹果系统
  • 固定资产占资产总额比例
  • osx无法安装怎么办
  • 资产划转的账务处理
  • windows7安装nodejs14
  • Pycharm安装库失败
  • 长期借款科目的期末余额反映尚未偿还的借款本金
  • 期初在产品成本是什么
  • 新准则与旧准则比较有哪些新变化
  • 哈德良长城和中国长城的区别
  • 小企业遵循什么会计准则
  • vscode怎么写前端代码
  • pgadmin配置
  • 冲回上月暂估入账的商品会计分录
  • 交通运输发票票样
  • 个税专项附加扣除金额
  • 施工企业的人工费占比
  • 辞退补偿金计算
  • 代扣代缴的境外收入企业所得税可以抵减吗
  • python 子进程通信
  • 税率变了
  • dedecms怎么改图片
  • 盈余公积转增资本所有者权益会变吗
  • 总资产报酬率的公式
  • 期末调汇的会计怎么做账
  • 专票红冲信息表填开显示红字信息表金额大于蓝色金额
  • 公司按最低标准交社保可以申请补偿吗
  • 会计科目中其期末余额应列入资产负债表存货项目的有
  • 超期应收款管控
  • 代收代缴水电费协议
  • 技术支持费用属于什么费用
  • 无工资支出企业账务处理
  • 小规模公司怎么做账
  • 修改mysql配置的两种方法
  • mysql嵌套查询联表查询
  • win10有三个系统
  • win8.1系统升级win10
  • window10预览在哪里找
  • torch.cuda.set_device
  • centos挂载cd
  • xp系统安装流程图
  • 系统备份恢复系统
  • xp注册表损坏怎么修复
  • windows7没有声音怎么调
  • win8系统没有声音怎么办
  • linux怎么使用ssh命令
  • opengl(mesa) for ubuntu14.04
  • ExtJS 2.0实用简明教程之应用ExtJS
  • vue路由跳转的钩子函数什么时候会用到
  • python生成txt文档
  • layui jquery事件失效
  • cocos2d安装
  • 房屋附属设备和配套设施计征房产税
  • 个人所得税子女教育和赡养老人抵扣多少税
  • 食药监局下午几点上班
  • 企业所得税季度申报时间
  • 深圳监狱在哪个位置
  • 住宅区地下车位产权归属
  • 伊朗开心果进口价格
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设