3

所以我才刚刚开始使用 Yeoman。我只是设置了一个基本项目,但我不确定将我的脚本放在哪里。我应该把东西放在提供的 app.js 中吗?或者我应该制作自己的文件并将它们添加到某处的某个构建脚本中还是在某处需要它们?任何建议表示赞赏。

我也不明白 app.js 文件中这个的目的:

define([], function() {
return 'Hello from Yeoman!';
});
4

1 回答 1

9

好的,所以您选择在您的项目中使用 RequireJS。RequireJS 允许您将代码分解为模块- 不仅可以提高代码的整洁度(减少意大利面条式代码),还可以消除全局命名空间的混乱。

如果您查看main.js文件,您会注意到以下内容:

require(['app'], function(app) {
  //use app here
  console.log(app);
});

这样做是将app.js包含到您的主 javascript 文件中并运行它。

现在,我认为您感到困惑的地方是 RequireJS 引入的新语法 - 但基本上每个文件都形成一个闭包并具有自己的范围

想象一下:

如果您没有使用 RequireJs 来分隔文件,并且所有代码都在一个文件中。它看起来像这样:

function app () {
    return 'Hello from Yeoman!';
}

console.log(app());

您可以在app.js中编写任何您想要的内容,只要它使用所需的 RequireJS 语法包装即可:

define([], function() {
    //Start writing your code here
});

这将包含在main.js中并编译成一个文件用于生产。

目前 Yeoman 的文档有点少,所以如果您热衷于编写模块化 JavaScript ,我建议您前往 RequireJS 站点并阅读他们的文档。

如果您不想要/不需要此功能,则在初始化新的 Yeoman 项目时始终可以选择不包含 RequireJS。

希望有帮助:)

于 2013-01-10T11:49:45.950 回答