在使用RequireJS时,我把脚本放在Yeoman项目的哪里?
Where do I put my scripts in a Yeoman project when using RequireJS?
我才刚刚开始讲《约曼》。我只是设置了一个基本的项目,我不确定在哪里把我的脚本。我应该把东西放到提供的app.js中吗?或者我应该制作自己的文件,并将它们添加到某个构建脚本或要求它们在某个地方?如有任何建议,不胜感激。
我也不明白这个在app.js文件中的目的:
define([], function() {
return 'Hello from Yeoman!';
});
好的,所以您选择在您的项目中使用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网站阅读他们的文档。
当你初始化一个新的约曼项目时,如果你不想/不需要这个功能,你可以选择不包含RequireJS。
希望有帮助
相关文章:
- 正在将数据主题添加到所有项目
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 将单击事件添加到附加的项目中
- Yeoman/Grunt:向项目添加子目录
- 如何在一个yeoman项目中重新安装Grunt
- 使用单个文件集成整个Yeoman,AngularJS项目
- 将 DIR 更改为从 Yeoman 生成器本身新创建的 Yeoman 项目
- Yeoman:在grunt中为现有项目添加sass/compass支持
- 如何将browserfy添加到yeoman项目中
- 在使用RequireJS时,我把脚本放在Yeoman项目的哪里?