Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过ExtJS动态加载和使用vanilla/jQuery库_Javascript_Extjs_Requirejs - Fatal编程技术网

Javascript 如何通过ExtJS动态加载和使用vanilla/jQuery库

Javascript 如何通过ExtJS动态加载和使用vanilla/jQuery库,javascript,extjs,requirejs,Javascript,Extjs,Requirejs,我有一些基于jQuery的JavaScript库,我在其他项目中使用它们,我想在ExtJS项目中使用它们。其他项目通常通过RequireJS动态加载这些库: define(['lib/api/client', 'lib/my_lib'], function(ApiClient, MyLib) { ... }); 假设我想在ExtJS项目中使用这些库。在ExtJS中是否有一种“标准”的方法来实现这一点,或者我应该像这样装配自己的解决方案?解决这个问题的常用方法是什么 require([

我有一些基于jQuery的JavaScript库,我在其他项目中使用它们,我想在ExtJS项目中使用它们。其他项目通常通过RequireJS动态加载这些库:

define(['lib/api/client', 'lib/my_lib'], function(ApiClient, MyLib) {
  ...
});
假设我想在ExtJS项目中使用这些库。在ExtJS中是否有一种“标准”的方法来实现这一点,或者我应该像这样装配自己的解决方案?解决这个问题的常用方法是什么

require([
  'lib/extjs/ext-all',
  'lib/api/client',
  'lib/my_lib'
], function(Ext, ApiClient, MyLib) {

  Ext.application({
    name: 'MyApp',
    appFolder: 'app',
    launch: function() {
      var apiClient = new ApiClient();

      Ext.create('MyApp.view.Main', {
        apiClient: apiClient
      });

      MyLib.doSomething();
    }
  });

});

一句话:我想避免在头部有大量的脚本标记:

<head>

<script src="lib/api/client" type="text/javascript"></script>
<script src="lib/my_lib" type="text/javascript"></script>
<script src="lib/my_other_lib" type="text/javascript"></script>
<script src="lib/another_lib" type="text/javascript"></script>
<script src="lib/and_another_lib" type="text/javascript"></script>
<script src="lib/and_yet_another_lib" type="text/javascript"></script>

</head>


我需要依赖关系管理。

您可以使用Ext.Loader.loadScript方法()。您可以这样组织代码:

Ext.Loader.loadScript('lib/api/client');
Ext.Loader.loadScript('lib/my_lib');

Ext.onReady(function () {
     // setup your Ext JS app here, external libraries are loaded.  
});

您可以使用Ext.Loader.loadScript方法()。您可以这样组织代码:

Ext.Loader.loadScript('lib/api/client');
Ext.Loader.loadScript('lib/my_lib');

Ext.onReady(function () {
     // setup your Ext JS app here, external libraries are loaded.  
});

我更喜欢这个,而不是头上的脚本标签。但是,有依赖关系管理是很好的——例如,假设我的库依赖于我的库,并确保首先加载我的库。我更喜欢这个,而不是头上的脚本标记。但是,最好有依赖关系管理——例如,假设my_lib依赖于my_other_lib,并确保首先加载my_other_lib。