05 CMD-SeaJS 模块化

SeaJS 模块化

1. 下载sea.js, 并引入

2. 创建项目结构

|-js
  |-libs
    |-sea.js
  |-modules
    |-module1.js
    |-module2.js
    |-module3.js
    |-module4.js
    |-main.js
|-index.html

3. 定义sea.js的模块代码

  • module1.js

    define(function (require, exports, module) {
      //内部变量数据
      let data = 'hello world';
      //内部函数
      function show() {
        console.log(`module1 show() ${data}`)
      }
    
      //向外暴露
      exports.show = show;
    })
    
  • module2.js

    define(function (require, exports, module) {
      module.exports = {
        msg: 'I Will Back';
      }
    })
    
  • module3.js

    define(function (require, exports, module) {
      const API_KEY = 'abc123';
      exports.API_KEY = API_KEY;
    })
    
  • module4.js

    define(function (require, exports, module) {
      //引入依赖模块(同步)
      let module2 = require('./module2');
    
      function show() {
        console.log(`module4 show() ${module2.msg}`);
      }
    
      exports.show = show;
      //引入依赖模块(异步)
      require.async('./module3', function (m3) {
        console.log(`异步引入依赖模块3 ${m3.API_KEY}`);
      })
    })
    
  • main.js : 主(入口)模块

    define(function (require) {
      var m1 = require('./module1')
      var m4 = require('./module4')
      m1.show()
      m4.show()
    })
    

4. 页面

<!--
使用seajs:
  1. 引入sea.js库
  2. 如何定义导出模块 :
    define()
    exports
    module.exports
  3. 如何依赖模块:
    require()
  4. 如何使用模块:
    seajs.use()
-->
<script type="text/javascript" src="js/libs/sea.js"></script>
<script type="text/javascript">
  seajs.use('./js/modules/main')
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂亮疯了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值