import 和 require都是模块化编程的诞生物
require 是 AMD规范引入方式
import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require
![](https://img.haomeiwen.com/i21286321/d229d59c0bd4c56a.png)
暴露模块
暴露模块的方法有一下两种
exports.xxx=需要暴露的方法名或变量名
在另一个文件中通过require引入这个模块,就可以访问到这个暴露出来的方法
具体步骤
1.创建一个模块文件
![](https://img.haomeiwen.com/i21286321/2d59c3237a3ee2cd.png)
在此模块文件中let一个变量a 给他赋值为5 并通过exports.a=a暴露出去
2.引入这个模块
![](https://img.haomeiwen.com/i21286321/5522b590045940eb.png)
在另一个js文件中引入模块,并且去打印一下这个模块里的值
![](https://img.haomeiwen.com/i21286321/eddc0ab201178ae2.png)
可以看到,能成功打印出这个值
另一种暴露方式
![](https://img.haomeiwen.com/i21286321/f75bb213d6e8943b.png)
如果模块中有很多工具方法的话,一个一个暴露出去太麻烦了,我们可以直接用一个对象把这些方法包起来,然后把这个对象暴露出去
![](https://img.haomeiwen.com/i21286321/b3653728ddb3f8b0.png)
![](https://img.haomeiwen.com/i21286321/485c9138192e558f.png)
可以看到这样也可以调用模块中的方法
关于npm的一些小知识
npm是最大的js包管理平台,可以通过npm命令去下载到各种各样我们需要的包
npm init -- yes 命令可以下载到我们的项目配置文件 package.json文件
![](https://img.haomeiwen.com/i21286321/d9b612d90f22242f.png)
![](https://img.haomeiwen.com/i21286321/4114b64bf20cde2b.png)
下载包的时候最好都在后面跟上--save参数 这样,package.json中就会有记录,如果有别人要拉你这个项目的时候,只需要执行一下npm i 命令就会把package.json中记录的所有的包都下载下来
网友评论