下面我将利用Gulp完成一个复制文件夹的操作
第一步:在gulpfile.js中编写任务
复制好的文件夹将被输出到dist目录下。
第二步:在命令行中执行任务
最后来查看效果
可以看到,原本在src目录下的imgs文件夹已经被完完全全的复制到了dist目录当中。
4.6 package.json文件
4.6.1 node_modules文件夹的问题
- 文件夹以及文件过多过碎,当我们将项目整体拷贝给别人的时候,传输速度会很慢很慢。
- 复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致,否则会导致当前项目运行错误
4.6.2 package.json文件的作用
项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、GitHub地址、当前项目依赖了哪些第三方模块等。
使用 npm init -y 生成参数默认的 package.json文件
示例如图
下面我们来看一下package.json文件中都有些什么
其中
- name代表项目名称
- version代表项目版本
- description代表项目描述,通过此选项可以让别人快速的了解当前项目的功能和作用
- main代表项目的主入口文件
- scripts代表命令的别名
- keywords代表关键字
- author代表项目的作者
- license代表项目遵循的协议
下面我们来看一下package.json文件是如何记录项目所依赖的第三方模块的
首先我们来下载几个第三方模块
那么再来看此时的 package.json文件
可以看到,文件中多了一个dependencies(译为依赖)选项,这个选项就是记录项目所需的第三方模块以及它们的版本的,我们刚刚下载好的模块恰好就在其中。
那么当我们给别人传递项目的时候,就不必传输node_modules文件夹了,那么当别人拿到项目的时候该如何利用package.json文件快速下载好项目所需的模块呢?
我们先将原来文件夹中的node_modules文件夹删除,来模拟刚接手项目的情况
接下来来到命令行当中,输入 npm install 并执行
此时我们再来看description文件夹
可以发现node_modules文件夹又回来了,而且里面的模块正是我们之前下载好的那些模块
综上,我们解决node_modules文件夹存在的第一个问题所用的方法,就是利用package.json文件所记录的信息,来达到不用传输node_modules文件夹也可以下载好项目所依赖的符合项目运行版本的第三方模块。