JS模块化4 - CMD-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 = 'module1...'

    //内部函数
    function show() {
        console.log(data)
    }

    //向外暴露
    exports.show = show
})
 
module2.js
define(function (require, exports, module) {
    module.exports = {
        msg: 'module2 ...'
    }
})

 

module3.js
define(function (require, exports, module) {
    let msg = 'module3...'

    function f3() {
        console.log(msg)
    }

    exports.f3 = {f3}
})

 

module4.js
define(function (require, exports, module) {

    let msg = 'module4...'

    //引入依赖模块(同步)
    let module2 = require('./module2')
    console.log(module2.msg)

    //引入依赖模块(异步)
    require.async('./module3', function (module3) {
        console.log(module3.f3.f3())
    })

    function f4() {
        console.log(msg)
    }

    exports.f4 = f4

})

 

main.js
//主(入口)模块
define(function (require) {
    let m1 = require('./module1')
    m1.show()
    let m4 = require('./module4')
    m4.f4()
})
 
4. index.html:
<script type='text/javascript' src='js/libs/sea.js'></script>
<script type='text/javascript'>
    seajs.use('./js/modules/main.js');
</script>

 

 

 

end~

 
 
 
 
 
posted @ 2022-08-11 14:51  Evengod  阅读(23)  评论(0编辑  收藏  举报