Js模块化

Js模块化规范:

一:CommonJS

1,只有node环境下支持;

2,导出:

2.1,使用exports或module.exports,等号导出

2.2,导出原理:

因为js的对象复制仅仅是改变指针位置,所以exports与module.exports写法一样;

exports写法上exports.a=xxx,exports.b=xxx,逐个给exports对象设置值,可以写多个,

module.exports={a:xxx,b:xxx},导出是一个对象;

    //原理理解为每个模块为一个函数,自动输入一个module参数,require相当于执行这个函数:
        function(module){
            module.exports = {};
            var exports = module.exports;
            //模块的代码
            return module.exports
        }

3,导入

3.1,使用require导入,导入路径必须为相对路径,即以./或../开头

3.2,模块后缀为.js可以省略

3.3,导入模块存在缓存,重复导入会使用第一次导入的值

 

二,ES6模块化

1,导出使用export或export default;

2,导出的接受的变量不能更改;

3,export基本导出可以使用多个,export default默认导出只有一个;

4,基本导出有声明,

        export var a = 1;
        export var b = function(){};
        export function fun(){};
        var c =3;
        export {c};
        export {c as temp};

5,默认导出一般用export default{}

        export default 3;
        export default function(){};
        export {c as default};
        export {a,b,c as deafault};a,b基本导出,c默认导出

6,导入的是一个对象,导入的default不能作为变量名;

7,导入存在缓存,导入不能写到条件或判断里面,CommonJS可以;

        {a:xxx,b:xxx,default:xxx}
        import {a,b} from 'xxx';
        import c,{a,b} from 'xxx';  //其中导入的c是default
        import * as obj from 'xxx;  //导入的所有的东西放到obj里面

 

发布了356 篇原创文章 · 获赞 215 · 访问量 91万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览