【问题标题】:Where do I put my scripts in a Yeoman project when using RequireJS?使用 RequireJS 时,我应该将我的脚本放在 Yeoman 项目的什么位置?
【发布时间】:2013-01-08 09:16:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript requirejs yeoman


    【解决方案1】:

    好的,所以您选择在您的项目中使用 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 的文档有点少,所以如果你热衷于编写模块化 JavaScript,我建议你访问 RequireJS 网站和read through their documentation

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

    希望有帮助:)

    【讨论】:

    • 这确实有帮助!以前没见过js中设置多个文件的那种风格。
    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多