javascript - 使用 RequireJS 时,我应该将脚本放在 Yeoman 项目的什么位置?

标签 javascript requirejs yeoman

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

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

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

最佳答案

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

如果您查看 ma​​in.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());

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

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

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

目前 Yeoman 的文档有点稀疏,所以我建议您前往 RequireJS 网站和 read through their documentation如果您热衷于编写模块化 JavaScript。

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

希望对您有所帮助:)

关于javascript - 使用 RequireJS 时,我应该将脚本放在 Yeoman 项目的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211632/

相关文章:

javascript - 单击时调整大小并返回原始位置

javascript - 按类名计数器在 javascript 中不起作用

javascript - 如何从同一文件夹将 js 文件导入到 chrome 扩展中的 background.js

javascript - 如何从 yeoman 输出不需要 grunt 服务即可查看的字典

javascript - 在 javascript 应用程序中处理特定于环境的配置

javascript - 当您在 JavaScript 中使用参数实例化 new Object(1) 时会发生什么?

javascript - 按名称查找 var 值不起作用

javascript - 对 RequireJS 依赖感到困惑

javascript - requirejs:从网络服务加载脚本/模块

javascript - AngularJS +sails.js