Require.jsの使用方法を学習しようとしています。そのため、本文に次のタグを含むHTMLページを作成しました。
<script type="text/javascript" data-main="../js/shirt" src="../js/require.js"></script>
<script type="text/javascript">
alert("Shirt color is " + shirt.color);
</script>
../js/shirt.jsには次のコードがあります
define({
color: "black",
size : "large"
});
この単純な値のペアをHTMLでどのように使用できますか?
メインファイルの内容 requireコールである必要があります 。たとえば、以下を含むvalues.jsモジュールがあります。
define({
color: "black",
size : "large"
});
メインファイル(shirt.js)で、values.jsを依存関係としてロードします(同じディレクトリにあると想定)。
require(['values'],function(values){
//values.color
//values.size
});
Domenicの回答に加えて、モジュール内でrequire関数を使用せずに、define関数を使用するこの方法を好むかもしれません。
// shirt.js
define({
color: "black",
size : "large"
});
// logger.js
define(["shirt"], function (shirt) {
return {
logTheShirt: function () {
console.log("color: " + shirt.color + ", size: " + shirt.size);
}
};
});
// main.js
define(["shirt", "logger"],function (shirt, logger) {
alert("Shirt color is: " + shirt.color);
logger.logTheShirt();
});
私はこの方法を好みますが、それは私が推測する好みの問題だけです。 (私はすべてのスクリプトが同じフォルダーにあると想定しています。)
ジョセフの答えに加えて、shirt
に依存する他のモジュールを作成することもできます(これがRequireJSの真の力を発揮する場所です)。
// shirt.js
define({
color: "black",
size : "large"
});
// logger.js
define(function (require) {
var shirt = require("./shirt");
return {
logTheShirt: function () {
console.log("color: " + shirt.color + ", size: " + shirt.size);
}
};
});
// main.js
define(function (require) {
var shirt = require("./shirt");
var logger = require("./logger");
alert("Shirt color is: " + shirt.color);
logger.logTheShirt();
});
次に、HTMLは
<script data-main="../js/main" src="../js/require.js"></script>