美文网首页
JavaScript模块化

JavaScript模块化

作者: 前端_攻城狮 | 来源:发表于2018-09-29 18:04 被阅读0次

es6之前js不支持模块化,社区制定一套模块规范commonjs(主要要服务器 nodejs require('http')),AMD(requireJs,curlJs)或者CMD(seaJs)

es6出来后统一服务端和客户端模块规范

模块化:
a)如何定义模块? 
            export 东西
            export const a=12;
            export{
             a as aaa,
             b as bbb
            }
b)如何使用?
            import
            import './modules/1.js';
            import {a as aa, banana,c as cc} from ''
            import * as modTwo from ''
关于import{}  当export出的东西是default的时候不加{},否则加{}

使用模块:<script type="module"></script>
import: 特点
a) import可以是相对路径也可以是绝对路径
    import 'https://code.jquery.com/jquery-3.3.1.min.js'
b) import模块只会导入一次,无论你引入多少次
c)import './modules/1.js'; 如果这么用,相当于引入文件
d) 有提升效果,import会自动提升到顶部,首先执行
e) 导出去模块内容,如果里面有定时器更改,外面也会改动,不像common规范缓存

*import()类似node里面require,可以动态引入,默认import语法不能写到if之类里面
返回值是个Promise对象
import('./modules/1.js').then(res=>{
        console.log(res.a,res.b);
});
优点:1按需加载   2.可以写if中   3路径也可以动态改变

==============================
'use strict'     默认是严格模式

相关文章

网友评论

      本文标题:JavaScript模块化

      本文链接:https://www.haomeiwen.com/subject/ugkboftx.html