Node中node_modules文件夹及package.json文件的作用说明

node_modules文件夹及package.json文件的作用

在我们下载了npm或gulp的一些插件后,打开node_modules可以发现,里面有很多的文件夹,会导致我们将项目拷贝给别人的时候,传输速度会很慢。

其实我们在拷贝给别人项目的时候,node_modules这个文件夹是不需要一起拷贝的,因为有package.json。

package.json的作用

它记录了当前项目的信息,例如项目名称、版本、作者、github地址、当前项目依赖了哪些第三方模块等。

一般来说该文件都是放在项目的根目录下,所以我们在项目根目录下打开命令行工具,执行npm init -y命令,生成该文件。

Node中node_modules文件夹及package.json文件的作用说明_第1张图片

生成的package.json文件

  • name:是项目名称
  • version:是项目版本
  • description:是项目的描述
  • main:是项目的主入口文件
  • scripts:存储的是命令的别名
  • keywords:允许我们用关键字的方式来描述当前项目
  • author:是项目的作者
  • license:是项目遵循的协议,默认是ISC协议
  • dependencies:依赖的第三方模块

Node中node_modules文件夹及package.json文件的作用说明_第2张图片

文件生成之后,在项目根目录下执行命令行工具,输入:npm install 命令即可,会自动去下载第三方模块,所以不用拷贝node_modules文件夹,根据package.json文件夹可以下载第三方模块。

node_modules是干什么的?

node_modules是安装node后用来存放用包管理工具下载安装的包的文件夹。比如webpack、gulp、grunt这些工具。在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块。

modules(模块)

在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块,文件内容可能是我们封装好的一些JavaScript方法、jsON数据、编译过的C/C++拓展等,在关于node.js的误会提到过node.js的架构。

其中http、fs、net等都是node.js提供的核心模块,使用C/C++实现,外部用JavaScript封装。

require搜索module方式

node.js中模块有两种类型:核心模块和文件模块,核心模块直接使用名称获取,比如最长用的http模块

var http=require('http');

在上面例子中我们使用了相对路径 './test'来获取自定义文件模块,

node加载模块的方法

1、核心模块优先级最高,直接使用名字加载,在有命名冲突的时候首先加载核心模块,文件模块只能按照路径加载(可以省略默认的.js拓展名,不是的话需要显示声明书写)

  • 绝对路径
  • 相对路径

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Node中node_modules文件夹及package.json文件的作用说明)