所以我刚刚开始使用Yeoman。我只是设置了一个基本项目,我不知道在哪里放我的脚本。我应该把东西放在提供的app.js中吗?或者我应该创建自己的文件并将它们添加到某个构建脚本或某处需要它们?任何建议都表示赞赏。
我也不明白app.js文件中的目的:
define([], function() {
return 'Hello from Yeoman!';
});
答案 0 :(得分:9)
好的,所以你选择将RequireJS用于你的项目。 RequireJS允许您在模块中分解代码 - 不仅可以提高代码的整洁度(减少意大利面条代码),还可以消除全局命名空间的混乱。
如果你查看 main.js 文件,你会注意到以下内容:
require(['app'], function(app) {
//use app here
console.log(app);
});
这样做包括 app.js 到您的主javascript文件中并运行它。
现在,在我认为您感到困惑的地方,使用了新的语法RequireJS介绍 - 但基本上每个文件形成一个closure and has its own scope。
想象一下:
如果您没有使用RequireJs来分隔文件,并且所有代码都在单个文件中。它看起来像这样:
function app () {
return 'Hello from Yeoman!';
}
console.log(app());
只要用所需的RequireJS语法包装,你就可以在 app.js 中写下你想要的任何内容:
define([], function() {
//Start writing your code here
});
这将包含在 main.js 中,并编译成一个文件进行制作。
Yeoman的文档目前有点稀疏,所以如果您热衷于编写模块化JavaScript,我建议您前往RequireJS网站和read through their documentation。
如果您不想要/不需要此功能,您可以在初始化新的Yeoman项目时选择不包含RequireJS。
希望有所帮助:)