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

  • 相关阅读:
    mysql索引
    struts升级2.3.12到2.5.13
    springboot使用servlet
    springboot拦截器
    开发复制内容
    Linux常用命令
    Eclipse中文语言包安装和设置中文
    eclipse编写代码所遇到的问题
    permission denied (publickey)问题的解决和向github添加ssh key
    工具
  • 原文地址:https://www.cnblogs.com/dojo-lzz/p/5688440.html
Copyright © 2011-2022 走看看