package.json是什么时候出现的

如果你从事前端开发,或者你的项目使用了某个前端框架,比如VUE,你一定见过package.json这个文件,我在想这个文件是什么时候添加进项目工程的?为什么需要这个文件,它有什么作用?

为了搞清楚这些问题,我开始查资料,然后呢,然后我发现自己对前端确实知道的很少。

为什么前端需要Node?

Vue.js官方教程上说:

安装教程给出了更多安装Vue的方式。请注意我们不推荐新手直接使用vue-cli,尤其是在你还不熟悉基于Node.js的构建工具时。

那么,基于Node.js的构建工具有哪些呢?比如Webpack、Babel、ESLint等。

为什么Node自带NPM?

《深入浅出Node.js》中第2章开头说:

首先,我想从模块为你娓娓道来Node。

JavaScript起初没有模块的概念,随着Web发展,社区开始为JavaScript制定相应规范,CommonJS规范是一个里程碑,它对模块的定义包括三个部分:模块引用、模块定义、模块标识。

如果说CommonJS是JavaScript模块方面的理论的话,Node就是模块的实现。但Node并非完全按照规范实现,而是对模块规范进行了一定的取舍。在Node中,模块分为两类:一类是Node提供的模块,称为核心模块;另一类是用户编写的模块,称为文件模块。

Node组织了自身的核心模块,也使得第三方文件模块可以有序地编写和使用。但是在第三方模块中,模块与模块之间仍然是散列在各地的,相互之间不能直接引用。而在模块之外,包和NPM则是将模块联系起来的一种机制。

管理你的包

我们上面引出了包和NPM,可以说一个Node.js项目就是一个包,而NPM是用来管理项目的,为什么要管理项目呢?因为一个软件产品并不是发布后(比如1.0)就算完成了,后期还要长期维护,包括修复bug、添加新功能、对第三方模块进行升级等。

package.json就是包的描述文件,位于包的根目录下,而NPM的所有行为都与包描述文件的字段息息相关。NPM官方文档上说:

You can add a package.json file to your package to make it easy for others to manage and install. Packages published to the registry must contain a package.json file.

所以,一般我们在开始一个Node.js项目时,就会创建一个package.json文件,创建的方法很简单:

npm init

下面举一个例子,说明package.json的作用,比如我从Github上Clone or download下来一个项目,像这样:

没有node_modules,只需要执行下面的命令就可以安装所有依赖的包:

npm install

 

#还推荐:

前端十万个为什么(之一):我们为什么需要npm?

学习 Node.js,第 8 单元:Node 依赖管理

[对于初学者]从概念上了解NPM和package.json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值