js可以运行在两个地方,一个是浏览器,一个是node.js
一:node.js中的3种模块
1.内置/核心模块
node.js安装时候,自己就装好了的模块
如fs、url、http模块
var fs=require("fs")
2.第三方模块
需要下载使用,如mime模块,需要npm i mine
var mime=require("mime")
3.自定义模块
4.import 和require区别
前端引入js文件,用import from;
前端导出:用export 或者 export default
后端引入第三方js文件,用require或者import(es6语法)
后端导出:module.exports={};
5.require时,是怎样寻找到模块资源
require("fs1")
1.)去当前项目(写这行代码的文件夹)中的node_modules文件夹中找fs1文件夹 中的package.json文件中main字段对应的路径 然后引入
2)没有就去node的安装包中的全局安装路径中找
当时安装设置的全局路径npm config set prefix "D:\nodejs\node_global"
3)还是没有找到 就去核心库
6.在当前目录下载了minme模块
在02-模块化语法2 目录下 npm i mime。
1)得到node_modules文件夹
2)mine文件夹的package.json是配置文件
3)index.js 是require('mime')真正引入的入口文件,index.js里面引入了mime的其他文件
7.引入自定义模块(了解原理,以后不会这样写,都是从npm社区下载项目来写)
ps:如果不想以.js文件路径的引入方式,而是像mime那样引入,就会按照第五点的方法找
1)在mime文件夹同级下间一个项目文件,比如my2文件夹
2)然后再项目文件下 ,后端输入 npm init 给我们配置文件,后面直接敲回车。也可以npm init -y (不用回车自动生成,文件名必须是英文)
3)在package.json文件中的main字段保存的入口文件,index.js ,就可在同级下建立index.js文件,里面导出项目的功能,以后require('my2')就可以使用这些功能
二:写项目的流程
1.建立一个文件夹,名字为英文名,在文件下生成配置文件 ,在项目建一个index.js 文件来写项目的入口
2.在配置文件中的scripts字段中加入:启动项目入口文件的命令;未来就可以使用npm run dev ,运行文件
3.项目需要引入的模块,如mime
4.将这些依赖模块 配置到项目配置文件里面
指令 npm i
我们发现配置文件会多下面的内容
5.以后项目的提交就不用提交node_modules文件夹,项目组长可以用npm i 来下载