2017-09-19 18 views
0

剣道UI 2017はrequirejs + angular + angularAMDでは動作しません。しかし、私がKendoバージョン2015に切り替えると、正常に動作します。剣道UI 2017は角度+ angularAMD + requirejsで動作しません

どのように私はこれを克服することができますか?

これはサンプルアプリケーションです。 ご了承ください。剣道のバージョンを2015に変更すると動作します。

https://plnkr.co/edit/DjOq6BfOVSHvIuSHliH8?p=preview

Index.htmlと

<!DOCTYPE html> 
<html> 
<head> 
     <script data-main="main.js" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.9/require.min.js"></script> 
     <link href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.common.min.css" rel="stylesheet" /> 
</head> 
<body> 
     <h1>Hello Plunker!</h1> 
     <div kendo-tab-strip k-content-urls="[ null, null]"> 
       <ul> 
        <li class="k-state-active">First tab</li> 
        <li>Second tab</li> 
       </ul> 
       <div style="padding: 1em"> 
        This is the first tab 
       </div> 
       <div style="padding: 1em"> 
        This is the second tab 
       </div> 
     </div> 
</body> 
</html> 

main.js

require.config({ 
     baseUrl: "", 
     waitSeconds: 0, 
     paths: { 
       'jquery': 'https://code.jquery.com/jquery-2.1.3.min', 
       'angular': 'https://code.angularjs.org/1.3.12/angular', 
       'angularamd': '//cdn.jsdelivr.net/angular.amd/0.2/angularAMD.min', 
       'kendo': 'https://kendo.cdn.telerik.com/2017.3.913/js/kendo.all.min', 
       //'kendo' : 'https://kendo.cdn.telerik.com/2015.1.429/js/kendo.all.min' --This version works 
     }, 
     shim: { 
       'angularAMD': ['angular'], 
       'kendo': ['jquery', 'angular'] 
     }, 
     deps: ['application-configuration'] 
}); 

アプリケーションconfiguration.js require.jsを参照した後

define(['angularamd', 'kendo'], function (angularAMD) { 
     var app = angular.module("mainModule", ['kendo.directives']); 
     angularAMD.bootstrap(app); 
     return app; 
}); 

答えて

-1

、このコードブロックを追加します。

<script> 
    define.amd = null; 
</script> 

define.amdが使用されているスクリプト・ローダがあるというのJavaScriptライブラリを通知するための標準的な方法です。私は手がかりを探したことはありませんでしたが、define.amdのライブラリを確認しています。剣道UIの文書であるhttps://docs.telerik.com/kendo-ui/third-party/using-kendo-with-requirejsには、すでに剣道UI jsがAMDモジュールであることが示されています。

The minified Kendo UI JavaScript files are AMD modules and work with compatible loaders such as RequireJS. You can use this feature to load only the needed Kendo UI JavaScript files instead of kendo.all.min.js. 

私の回避策では、スクリプトローダーは存在しないと考えています。希望このヘルプ

関連する問題