Worklight 6.0 アプリケーション内で dojo 1.9 を使用して単純なウィジェットを作成しようとしていますが、非常に問題が発生しています。
ここで、私の Worklight アプリの構造を確認できます。

JavaScript ファイル (ウィジェットなど) を含むサブフォルダーを作成しました。
これは私のメインの HTML ファイルです: http://jsfiddle.net/d8K69/ 最も重要なのは:
var dojoConfig = {
isDebug : 真、
非同期: 真、
parseOnLoad : 真、
mblHideAddressBar: false,
パッケージ: [ {
「名前」:「遊び場」、
「場所」:「js/遊び場」
} ]
};
<div id="header" data-dojo-type="playground.HeaderWidget"></div>
カスタム ウィジェット コードは、http: //jsfiddle.net/T9Tfq/2/にあります。
define([ "dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!js/playground/widgets/header/HeaderWidget.html" ],
function(declare, _WidgetBase, _TemplatedMixin, template) {
WL.Logger.debug("HeaderWidget.js: init.");
return declare("playground.HeaderWidget", null, [_WidgetBase, _TemplatedMixin], {
headerTitle: "Default header title",
templateString: template,
postCreate: function() {
// Get a DOM node reference for the root of our widget
//var domNode = this.domNode;
baseClass: "headerWidget";
// Run any parent postCreate processes - can be done at any point
this.inherited(arguments);
this.headerTitle.style.color = "red";
}
});
});
define のモジュール名、dojoConfig のパッケージ、および他の JavaScript ファイルの include (require) が正確に連携する方法について少し混乱しています。現在、次のエラーが発生しています。
dojo/parser::parse() error
Error: Unable to resolve constructor for: 'playground.HeaderWidget'
別のJavaScriptファイルでこれを試している間:
require([ "js/playground/widgets/header/HeaderWidget"], function(HeaderWidget) {
WL.Logger.debug("DOING SOMETHING WITH MY WIDGET");
動作しているようです (実際にはまだプログラムで headerwidget を作成していませんが、これは成功していないようです。