模块化加载与commonjs
- 一个js文件对应就是一个模块文件
- es5不支持原生的模块化,它是以script引入进来
- node为了模块化,引入了commonJS规范
commonJS:
- 方便团队开发
- 方便与模块的管理
- 一个模块就是做你这个模块只要的事
es6中
-
模块 export 变量名=变量值
-
引入
-
<script type="module">import { 变量名} from '文件路径'</script>
node中有2中模块
-
系统自带的模块
- require(‘核心模块名’)
-
自定义的模块
-
格式1:
- exports.属性名=属性值;
- exports.方法名=方法
-
引入模块
- require(’./模块名’)
-
格式2:
- module.exports.属性名=属性值
- module.exports.方法名 = 方法值
-
自定义模块引入时,后缀.js可以省略,但./或者…/是为了区分系统自带的核心模块和自定义模块的区分
-
当引入模块之后,模块文件自动生成
模块的顶部:
function(exports,require,moudule,__filename,__dirname){}
exports:暴露模块
require:引入暴露属性名 属性方法
module:当前模块名
2种模块的暴露:module.exports.属性名=属性值/exports.属性名=属性值;
__filename:得到当前模块完整路径
__dirname:得到当前文件夹的完整路径
exports 不会改变原来的地址
npm
npm -v 查看npm的版本
• npm version 查看所有模块的版本
• npm init 初始化项目(创建package.json)
• npm i/install 包名 安装指定的包 @版本号,不加版本默认为最新
• npm i/install 包名 --save 安装指定的包并添加依赖
• npm i/install 包名 -g 全局安装(一般都是一些工具)****
• npm i/install 安装当前项目所依赖的包
• npm s/search 包名 搜索包
• npm r/remove 包名 删除一个包