• AngularJs2与AMD加载器(dojo requirejs)集成


    现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行。
    核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运行时候AngularJs2不会去关心require方法。所以只要在原始的ts代码中不出现require就没问题。所以在AMD的加载器加载完毕之后,立即用一个全局变量保存,在AngularJs2的代码中使用这个全局变量在做加载器。
    Because require is a key word of Angular, RequireJs will conflict with Angularjs.
    The reason angular use commonjs modular specification, it need to compile to js for run in browsers.
    If you used require in code angularjs2 , the expression will be compiled to another style:

    require(['dojo/_base/html'], (html) => {
          console.log(html);
        }); 
    
    var html = __webpack_require__(['dojo/_base/html']);
    console.log(html);
    

    But if you the code in runing, the require will works fine.
    image
    This means Angularjs2 never replace the require when your app run in browsers.
    So there have a perfect way to integrate requireJs within AngularJs2.

      <script>
        dojoConfig = {
          async: true,
          parseOnLoad: false
        }
      </script>
      <script src="//js.arcgis.com/3.17/"></script>
      <script type="text/javascript">
        dojoRequire = require;
      </script>
    

    image

  • 相关阅读:
    Gitlab的安装
    转 Java操作PDF之iText详细入门
    ElasticSearch聚合(转)
    谷歌搜索技巧(转)https://www.runningcheese.com/google
    自学elastic search
    WinForm richtextbox 关键字变红色
    https采集12306(复制)
    LTS
    学习Android MediaPlayer
    UML基础知识
  • 原文地址:https://www.cnblogs.com/dojo-lzz/p/5688440.html
Copyright © 2020-2023  润新知