require.js,我做得对吗?
require.js, am I doing it right?
我刚接触require.js,发现它的文档很难理解。过了一会儿,我启动了我的项目,并使用以下设置运行。
project
|
|--js
|--vendor
|--require.js
|--modernizr.js
|--jquery.js
|--modules
|--module1.js
|--module2.js
|--main.js
|--index.html
index . html:
<!DOCTYPE html>
<html>
<head></head>
<body>
<script data-main="/js/main.js" src="/js/vendor/require.js"></script>
</body>
</html>
main.js
define([
"vendor/modernizr",
"modules/module1",
"modules/module2"
]);
模块/module1.js
define(['vendor/jquery'], function () {
// Some module code like
$('#button').on('click', function(){});
});
这是一个很好的设置,如果我喜欢有一个导入文件(main.js)喜欢在一个较少的设置CSS?
这个设置基本上是正确的,只是需要做一些轻微的修改。
对于模块,您需要为模块的每个依赖项传入匹配数量的参数。在这种情况下,您将希望将$
分配给jQuery模块返回的内容,以便您可以在模块中实际使用$
:
define(['vendor/jquery'], function ($) {
// Some module code like
$('#button').on('click', function(){});
});
对于main.js, define()
调用应该是require()
调用,以便您将执行模块中的任何内容,而不是简单地将其注册为其他模块执行的模块:
require([
"vendor/modernizr",
"modules/module1",
"modules/module2"
], function(Modernizr, module1, module2) {
// do something with Modernizr, module1, module2
});
相关文章:
- 无法加载Ace.js编辑器模式和主题(命名空间项目&AMD require.js&grunt
- 弹出窗口-jQuery Mobile、Backbone.js和Require.js
- 在非SPA(单页应用程序)中使用Require.js和Backbone
- 在混合基本 URL 下动态加载 require.js 模块
- 节点JS require不起作用
- 困惑为什么我在 Node.js (require.js) 中收到此错误
- 使用节点 js require() 时的循环
- Node.js require() 总是返回未定义的
- javascript标记equivant中的node.js require()
- Angular.js+require.js+jQuery插件自定义指令
- Node.js:require()并传递变量
- Backbone.js+require.js:等待文件加载
- Node.js require() vs RequireJS?
- 如何使用Jquery-file-upload与backbone.js &require.js
- 通过Node.js require和CoffeeScript中的类解决循环依赖
- node . js“require"功能和参数
- Backbone.js,require.js:我如何将我的模型、视图和集合转换为require.js模块
- Backbone.js + Require.js and ViewsFactory
- JS“//= require bootstrap/” 语法是什么意思?(引导 3 屁股)
- Node.js ' require '放入一个数组而不是一个变量