3 つの Dojo ウィジェットを使用する 1 つの HTML ページをセットアップしました。Dojo 1.7.5 を使用してカスタム ビルドを作成しようとしています。ビルドは成功し、このビルド ファイルを使用して必要なファイルを含む dojo.js が残ります。
var dependencies = {
action: "release",
selectorEngine: "acme",
stripConsole: "none",
cssOptimize: "comments.keepLines",
layers: [
{
name: "dojo.js",
dependencies: [
"dijit.form.ValidationTextBox",
"dijit.form.DropDownButton",
"dijit.form.Button",
"dijit.form.Form",
"dijit._base",
"dijit._Container",
"dijit._HasDropDown",
"dijit.form.ComboButton",
"dijit.form.ToggleButton",
"dijit.form._ToggleButtonMixin",
"dojo.parser",
"dojo.date.stamp",
"dojo._firebug.firebug"
]
}, {
name: "../test/test.js",
dependencies: [
"test.test"
]
}
],
prefixes: [
[ "dijit", "../dijit" ],
[ "dojox", "../dojox" ],
[ "ourpeople", "../ourpeople" ]
]
};
私が答えを見つけることができないように見える質問:
- 私はcssOptimizeを使用しています。使用されているすべてのcssファイルがインポートされた単一のcssファイルを期待していました。しかし、私はそのようなファイルを見つけることができません。これは道場がCSSを圧縮する方法ですか、それとも私の期待は間違っていますか? もしそうなら、リリースフォルダのどこにありますか?
- 私のtest.jsには関数test1()が含まれており、ビルドされたjsから呼び出すと、test1が定義されていないと表示されます。私はその関数を道場なしで直接呼び出します。カスタム js の構築は、declare を使用する dojo クラスである場合にのみ機能すると想定していますか?
- 最後の質問です。dojo._firebug.firebug などのいくつかの dojo ファイルをビルドに手動で含める必要がありました。最初のビルドの後、それらのファイルを取得するためにまだ xhr 呼び出しを使用していたからです。ファイルを手動で含めた後も、dojo から特定のリソース (dojo/nls/dojo_ROOT および dijit/form/nls/validate.js) への xhr 呼び出しが表示されます。これらのファイルはビルド プロセス中に作成されるため、ビルド プロファイルの依存関係に含めることはできません。私は単一のファイルで道場を配布しようとしているので、誰でもこの問題について何か考えがあります.
私は Dojo ビルド システムにかなり慣れていないので (特に)、おそらく Dojo ビルド システムが行うように設計されていないことを期待しているのかもしれません。ようこそ。
乾杯!
テスト.js:
function test1() {
console.log("test1");
}
Index.php:
<script type="text/javascript" src="js/release/dojo/dojo/dojo.js"></script>
<script type="text/javascript" src="js/release/dojo/test/test.js"></script>
<script type="text/javascript">
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.Form");
dojo.ready(function() {
test1();
});
</script>