在AMD中,导入和导出模块的代码,都必须放置在define函数中

    1. define([依赖的模块列表], function(模块名称列表){
    2. //模块内部的代码
    3. return 导出的内容
    4. })

    require.js

    案例
    image.png

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Document</title>
    7. </head>
    8. <body>
    9. <!--data-main="入口文件" -->
    10. <script data-main="./index.js" src="./require.js"></script>
    11. </body>
    12. </html>

    index.js 的代码

    1. // 官网文档的方式
    2. // define(["./b/b",'a'],function(b,a){
    3. // console.log(b)
    4. // console.log(a)
    5. // })
    6. // 以类似commonjs的方式
    7. define(function(require, exports, module){
    8. const b = require('./b/b');
    9. const a = require ( 'a')
    10. console.log(a)
    11. console.log(b)
    12. })

    a.js 的代码

    1. // 官网文档的方式
    2. // define([
    3. // './b/b',
    4. // ], function(b) {
    5. // console.log("a模块内部代码");
    6. // return {
    7. // data:'a模块的数据'
    8. // }
    9. // });
    10. // 以类似commonjs的方式
    11. define(function(require, exports, module){
    12. const b = require('./b/b');
    13. console.log('这是a模块的数据');
    14. module.exports = {
    15. data: '这是a模块的数据'
    16. }
    17. })

    b.js 的代码

    1. // 官网文档的方式
    2. // define( function() {
    3. // const text = 123;
    4. // console.log("这是b模块")
    5. // return{
    6. // name : "b模块",
    7. // data: '这是b模块的数据'
    8. // }
    9. // });
    10. // 以类似commonjs的方式
    11. define(function(require, exports, module){
    12. console.log('这是b模块')
    13. module.exports = {
    14. name: ' b模块',
    15. data: '这是b模块的数据'
    16. }
    17. })

    运行结果
    image.png

    image.png
    运行前head里是没有引入这些js文件的,当代码执行后头部动态添加的