美文网首页
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