ノードを使用して1つのファイルに最適化しようとしている単純なrequirejsプロジェクトがあります。 プロジェクトの構造はそうです。RequireJsオプティマイザは1つのファイルに縮小しますが、メインビルドを開始しません。
|___index.html | ├───css │ style.css │ └───scripts │ main.js │ ├───lib │ require.js │ underscore.js │ └───modules module1.js module2.js module3.js
は、ここでは、プロジェクトファイルの外部r.jsとbuild.jsと私のビルドファイル
//build.js
({
baseUrl: "./SimpleRequireJsProject/scripts",
name:"main",
out:"main-built.js"
})
です。ノード・コンソールを使用してオプティマイザを実行しました。
node r.js -o build.js
すべてがうまくいきます。出力main-built.jsが作成されます。私は、インデックスファイルを実行すると、私は
<script data-main="scripts/main-built" src="scripts/lib/require.js"></script>
と
<script data-main="scripts/main" src="scripts/lib/require.js"></script>
を交換しかし。エラーはありませんが、出力はありません。私はそういうコンソールメッセージを期待しています。メイン
//output main started m1 started m2 started..starting m3 from m2 m3 started
として、元のデータ・メインで動作する は、プロジェクトが実行されないとエラーが同様に存在しない理由を見つける私を助けてください。 :(
//main.js
define([
'lib/underscore',
'modules/module1',
'modules/module2'
],
function (_, Module1, Module2) {
console.log('main started');
var module1 = new Module1();
var module2 = new Module2();
module1.start();
module2.start();
});
//module1.js
define(['lib/underscore'],
function (_) {
function Module1() {
this.start = function() {
console.log('m1 started');
};
}
return Module1;
});
//module2.js
define(['lib/underscore', 'modules/module3'],
function (_, Module3) {
function Module2() {
this.start = function() {
console.log('m2 started..starting m3 from m2');
var module3 = new Module3();
module3.start();
};
}
return Module2;
});
//module3
define([
'underscore'],
function (_) {
function Module3() {
this.start = function() {
console.log('m3 started');
};
}
return Module3;
});
//index.html
<!DOCTYPE html>
<html>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css">
<title></title>
</head>
<body>
<div id="main"></div>
<script data-main="scripts/main-built" src="scripts/lib/require.js"></script>
</body>
</html>
正しい
した後、私は同じ問題を持っていると述べました。しかし、これは問題です。ロードされないファイル名にフィンガープリンティング(キャッシュ無効化)を追加すると発生します。 –