大前端进阶
新的一天,冲冲冲
关键字:export
我们先来认识一下什么是:export, es6中js支持module,一个js文件代表一个模块,我们可以用export来导出 用require和import引入
export的特性
- 每一个模块内声明的变量都是局部变量
- 模块内部的变量或者函数可以通过export导出
- 一个模块可以导入别的模块
commonjs的模块化~
common.js中模块化是这样的
代码语言:javascript复制var sum =(a,b) => a b
var sub =(a,b) => a-b
var mul =(a,b) => a*b
var di =(a,b) => a/b
module.exports={
sum,
sub,
mul,
di
}
引入使用是这样的
代码语言:javascript复制const m = require("./四则运算.js")
console.log(m.sub(2,2))
console.log(m.sum(2,2))
console.log(m.mul(2,2))
console.log(m.di(2,2))
es6的模块化
默认是不支持import引入的,我们在使用之前需要用babel把es6降级到es5才可以正常使用 码来!
代码语言:javascript复制export default{
geylist(){
// 真是业务中,用异步获取数据
console.log("获取数据列表")
},
save(){
// 真是业务中,用异步获取数据
console.log("保存数据")
}
}
引入使用
代码语言:javascript复制import user from './userApi'
user.geylist()
user.save()
开始提问啦久违的问答环节
commonjs和es6,require和import
- 语法差异,不过基本都是定义一个对象去接受导入的文件(十分类似java的导包)
- 运行方式:require/exports 是运行时动态加载,import/export 是静态编译
- require是对值的拷贝,改了文件,引入不会发生改变
- import是对值的应用,会随着文件更改而改变
小结
模块化让我们可以在js的开发中更加贴近我们熟悉的后端方式,可以用类似导包的方式来让我们的代码提高移植性和复用性,十分有效