Node.js自学笔记(三)

下面我将利用Gulp完成一个复制文件夹的操作

第一步:在gulpfile.js中编写任务
Node.js自学笔记(三)
复制好的文件夹将被输出到dist目录下。

第二步:在命令行中执行任务
Node.js自学笔记(三)
最后来查看效果
Node.js自学笔记(三)
可以看到,原本在src目录下的imgs文件夹已经被完完全全的复制到了dist目录当中。

4.6 package.json文件

4.6.1 node_modules文件夹的问题
  1. 文件夹以及文件过多过碎,当我们将项目整体拷贝给别人的时候,传输速度会很慢很慢。
  2. 复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致,否则会导致当前项目运行错误
4.6.2 package.json文件的作用

项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、GitHub地址、当前项目依赖了哪些第三方模块等。
使用 npm init -y 生成参数默认的 package.json文件

示例如图
Node.js自学笔记(三)
下面我们来看一下package.json文件中都有些什么
Node.js自学笔记(三)
其中

  • name代表项目名称
  • version代表项目版本
  • description代表项目描述,通过此选项可以让别人快速的了解当前项目的功能和作用
  • main代表项目的主入口文件
  • scripts代表命令的别名
  • keywords代表关键字
  • author代表项目的作者
  • license代表项目遵循的协议

下面我们来看一下package.json文件是如何记录项目所依赖的第三方模块的

首先我们来下载几个第三方模块
Node.js自学笔记(三)
那么再来看此时的 package.json文件
Node.js自学笔记(三)
可以看到,文件中多了一个dependencies(译为依赖)选项,这个选项就是记录项目所需的第三方模块以及它们的版本的,我们刚刚下载好的模块恰好就在其中。

那么当我们给别人传递项目的时候,就不必传输node_modules文件夹了,那么当别人拿到项目的时候该如何利用package.json文件快速下载好项目所需的模块呢?

我们先将原来文件夹中的node_modules文件夹删除,来模拟刚接手项目的情况Node.js自学笔记(三)
接下来来到命令行当中,输入 npm install 并执行Node.js自学笔记(三)
此时我们再来看description文件夹
Node.js自学笔记(三)
可以发现node_modules文件夹又回来了,而且里面的模块正是我们之前下载好的那些模块Node.js自学笔记(三)
综上,我们解决node_modules文件夹存在的第一个问题所用的方法,就是利用package.json文件所记录的信息,来达到不用传输node_modules文件夹也可以下载好项目所依赖的符合项目运行版本的第三方模块。