前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大前端进阶篇:大前端进阶最后一篇~模块化

大前端进阶篇:大前端进阶最后一篇~模块化

作者头像
冷环渊
发布2021-10-19 15:30:05
2110
发布2021-10-19 15:30:05
举报

大前端进阶

新的一天,冲冲冲

关键字:export

我们先来认识一下什么是:export, es6中js支持module,一个js文件代表一个模块,我们可以用export来导出 用require和import引入

export的特性

  1. 每一个模块内声明的变量都是局部变量
  2. 模块内部的变量或者函数可以通过export导出
  3. 一个模块可以导入别的模块

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

  1. 语法差异,不过基本都是定义一个对象去接受导入的文件(十分类似java的导包)
  2. 运行方式:require/exports 是运行时动态加载,import/export 是静态编译
    • require是对值的拷贝,改了文件,引入不会发生改变
    • import是对值的应用,会随着文件更改而改变

小结

模块化让我们可以在js的开发中更加贴近我们熟悉的后端方式,可以用类似导包的方式来让我们的代码提高移植性和复用性,十分有效

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大前端进阶
    • 关键字:export
      • export的特性
    • commonjs的模块化~
      • es6的模块化
        • 开始提问啦久违的问答环节
          • commonjs和es6,require和import
        • 小结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档