美文网首页
前端之amd模块化规范

前端之amd模块化规范

作者: web前端_潘哥哥 | 来源:发表于2022-01-04 21:00 被阅读0次

    今天来复习一下amd规范
    此规范目前来说也是基本不会用了,逐渐埋没在前端的历史长河中
    require.js实现了amd规范
    要使用amd规范,需要在html页面中书写以下代码:

    <!-- data-main属性得值为入口文件得路径 -->
    <script data-main="./index.js" src="./require.js"></script>
    

    在amd中,提供了define函数,该函数接受三个参数。分别是模块的id,模块的依赖项,一个回调函数(该函数中是该模块的代码)或者一个对象

    define(id?: String, dependencies?: String[], factory: Function|Object);
    

    前两个参数都是可选的。如果第三个参数传的不为string,array,function则会把第三个参数当成该模块的导出内容。在其他模块导入该模块时,拿到的数据即为该模块的第三个参数的值。

    细节:

    • 如果前两个参数按照类型传了的情况下,第三个参数只要不为函数,则都会被当成该模块的导出值。
    • 如果第一个参数按照类型传了的情况下,第二个参数如果不是数组类型也不是函数,那么第二个参数会被当成该模块的导出值。
    • 第一个参数如果不是字符串,也不是数组,也不是函数,则会被当成该模块的导出值。

    其实还有一些其他的情况,比如第一个参数传的是数组,那么第二个参数传递的内容会被当成是第三个参数的内容,第三个参数就不会被处理了。

    还有一种情况就是如果没有传递依赖项,第三个参数是一个函数的情况下,会给这个函数传递三个参数,分别是require,exports,module,这个时候,函数的内部代码就跟commonjs规范一样了

    相关文章

      网友评论

          本文标题:前端之amd模块化规范

          本文链接:https://www.haomeiwen.com/subject/hlrccrtx.html