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里面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值