1️⃣ 基本模板

image.png

1️⃣ 基本使用

CMD 的模块实现依赖于 sea.js 所以必须有这个文件才可以实现 CMD 模块化开发
module1

  1. // 定义一个没有依赖的模块 - module1
  2. define(function (require, exports, module) {
  3. let num = 1;
  4. function fun() {
  5. console.log(num);
  6. }
  7. // 暴露的语法
  8. module.exports = {
  9. fun
  10. };
  11. });

module2

  1. // 定义一个有依赖的模块 - module2
  2. define(function (require, exports, module) {
  3. // 同步引入 - 引入要依赖的模块 module1
  4. let m1 = require('./module1')
  5. // 异步引入 - 引入要依赖的模块 module1
  6. require.async('./module1', function (m1) {
  7. m1.fun(); // 异步引入后直接执行
  8. })
  9. // module2 自身的方法
  10. function fun() {
  11. console.log(2);
  12. }
  13. // 暴露语法
  14. module.exports = {
  15. fun,
  16. };
  17. });

main.js

  1. // 主 JS 文件用户汇总各个模块
  2. define(function (require) {
  3. let module1 = require('./module1')
  4. let module2 = require('./module2')
  5. module1.fun();
  6. module2.fun();
  7. });

index.html

  1. // html 引入
  2. <script type="text/javascript" src="js/libs/sea.js"></script>
  3. <script type="text/javascript">
  4. seajs.use('./js/modules/main')
  5. </script>