zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JavaScript获取http,http://请求协议头,域名,端口,url
    JAVA Pattern正则获取大括号中内容,substring字符串截取获取大括号中内容
    系统时间相关
    简单搭建nfs
    电信电话相关
    windows常用设置
    sort用法
    vim查询替换相关
    vim常用命令 技巧
    编绎vim8.2+deepin v15.11
  • 原文地址:https://www.cnblogs.com/dojo-lzz/p/5688440.html
Copyright © 2011-2022 走看看