我有一个简单的 requirejs 项目,我正在尝试使用 node.js 优化到一个文件。项目结构是这样的。
|___索引.html | ├───css │ style.css │ └────脚本 │ main.js │ ├───lib │ require.js │ underscore.js │ └────模块 模块1.js 模块2.js 模块3.js
这是我的构建文件
//build.js
({
baseUrl: "./SimpleRequireJsProject/scripts",
name:"main",
out:"main-built.js"
})
在项目文件之外使用 r.js 和 build.js。我使用节点控制台运行优化器。
node r.js -o build.js
一切正常。输出 main-built.js 被创建。但是当我更换
<script data-main="scripts/main" src="scripts/lib/require.js"></script>
和
<script data-main="scripts/main-built" src="scripts/lib/require.js"></script>
当我运行索引文件时。没有错误,但没有输出。我期待这样的控制台消息。与原始数据主一起工作
//输出 主要开始 m1 开始 m2 开始..从 m2 开始 m3 m3 开始
请帮我找出为什么项目没有运行并且也没有错误。:(
//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>