4.package.json文件4.1node_modules文件夹下有问题的文件夹和文件太多太零散。当我们将整个项目复制给别人时,传输速度会很慢。复杂的模块依赖需要记录,保证模块的版本和当前一致,否则会导致当前项目运行出错。4.2package.json文件的作用项目描述文件记录了当前项目的信息,例如项目名称、版本、作者、github地址、当前项目依赖了哪些第三方模块等。使用npminit生成-你的命令。4.3项目依赖在项目开发阶段和上线运行阶段都需要依赖的第三方包称为项目依赖。使用npminstallpackagename命令下载的文件,默认会添加到package.json文件的dependencies字段中{"dependencies":{"jquery":"^3.3.1"}}4.4开发依赖第三方包项目开发阶段需要依赖,上线运行阶段不需要依赖的称为开发依赖。使用npminstall包名--save-dev命令将包添加到package.json文件的devDependencies字段{"devDependencies":{"gulp":"^3.9.1“}}4.5包的作用-lock.json文件来锁定包的版本,保证在下载的时候,不会因为包版本不同而出现问题。加快下载速度,因为文件已经记录了第三层的树结构-项目依赖的party包和包的下载地址,重新安装时只需要下载,不需要做额外的工作5.Node.js中的模块加载机制require('./find.js');require('./find');require方法根据模块路径查找模块,如果是完整路径则直接导入模块。如果省略了模块后缀,先找同名的JS文件再找同名的JS文件夹。如果找到同名文件夹,在文件夹中找到index.js。如果文件夹下没有index.js,就会去当前文件夹下的package.json。在文件的主要选项中找到入口文件。如果指定的入口文件不存在或者不存在指定的入口文件,会报错,没有找到该模块。5.2模块查找规则-模块无路径无后缀时require('find');Node.js会假设它是一个系统模块。Node.js会去node_modules文件夹中查看是否有该名称的JS文件,然后查看是否有该名称的文件夹。如果是文件夹,看看里面有没有index.js。如果没有index.js检查该文件夹下package.json中的main选项确定模块入口文件,否则报错找不到
