JustGage は Raphael を使用しますが、ここで詳しく説明されているように、AMD に準拠していません (したがって、Require.js では動作しません)。
私は以前に Require.js を使用したことがなく、多くの JS も使用したことがないため、これを回避するために戦っています。色々試行錯誤しました(;_;)
ここで提案されているアプローチを使用して、Raphael モジュールを個別のファイルに分割して個別にインクルードし、JustGage で何をすべきかを推測しました。
require.config({
paths: {
//other links removed
'eve': 'vendor/eve/eve',
'raphael-core': 'vendor/raphael/raphael.core',
'raphael-svg': 'vendor/raphael/raphael.svg',
'raphael-vml': 'vendor/raphael/raphael.vml',
'raphael': 'vendor/raphael/raphael.amd',
'justgage': 'vendor/justgage/justgage.1.0.1.min'
},
shim: {
'eve': {
exports: "eve"
},
'raphael': {
deps: ['eve'],
exports: "Raphael"
},
'justgage': {
deps: ['raphael'],
exports: "JustGage"
}
}
});
しかし、指示には「上記の構成の後、他のrequire-jsモジュールと同様にRaphaelの使用を開始できます」と書かれており、あまり役に立ちません;)
main.jsで何かをする必要があると思いますか?
私が持っている私のcshtmlページで
require(["raphael", "justgage"], function(JustGage) {
$(function() {
var a = new JustGage({
id: "pvgauge",
value: @Model.GaugeValues.PV,
min: @Model.PVGauge.MinValue,
max: @Model.PVGauge.MaxValue,
title: "Personal Volume",
label: "PV",
levelColors: gaugeSettings.levelColors,
levelColorsGradient: gaugeSettings.levelColorsGradient,
showInnerShadow: gaugeSettings.showInnerShadow,
shadowSize: gaugeSettings.shadowSize,
labelFontColor: '#7ACE30',
titleFontColor: gaugeSettings.titleFontColor,
valueFontColor: gaugeSettings.valueFontColor
});
});
});
これで少なくとも JustGage が見つかりましたが、エラーが発生しました'Raphael' is undefined.
(cshtmlファイルにスクリプトを直接インクルードすることも試みましたが、エラーが発生しました'Mismatched anonymous define() module: function (eve) {'
)
Require.js は物事がグローバル スコープにないことを意味するという私の理解は正しいですか? また、JustGage は Raphael がグローバル スコープに含まれることを期待していますか?
JustGage を機能させるためのヘルプはありますか? または、Require.js で動作する「speedo」タイプのゲージ用の同等のライブラリの推奨事項はありますか?