require.js是require的另一种方式
require.js alternative way to require?
require.js新手。我有这个:
define([
'jquery',
'underscore',
'backbone',
'views/sidebar',
'views/dashboard',
'views/users',
'views/venues',
'views/payments'
], function($, _, Backbone, SidebarView, DashboardView, UsersView, VenuesView, PaymentsView) {
var Router = Backbone.Router.extend({
routes: {
'/dashboard': 'showDashboard',
'/users': 'showUsers',
'/venues': 'showVenues',
'/payments': 'showPayments'
}
});
var initialize = function() {
var router = new Router();
Backbone.history.start();
}
return {
initialize: initialize
};
});
我想知道是否有另一种写法,这样我就不会有这么长的一行了:
function($, _, Backbone, SidebarView, DashboardView, UsersView, VenuesView, PaymentsView)
您可以使用AMD糖:
define(function(require) {
var $ = require('jquery')
, _ = require('underscore')
, Backbone = require('backbone')
// etc...
我个人更喜欢这个,因为它更接近CommonJS语法,但浏览器有一些限制(它需要Function.prototype.toString
),所以在生产之前请确保使用r.js
进行打包。
文档中的更多示例:http://requirejs.org/docs/whyamd.html#sugar
或者您可以尝试更通用、更自然的解决方案(不仅仅是JS)http://sourceforge.net/projects/minimerge
它支持完整的依赖项堆栈、多个源树,并且完全基于java(您也可以将其用于内容过滤)。
特别是你最终得到的:
//:包括com/package/Class.js
//任何代码。
minimerge是一个简单的java工具,只有几KB小,速度极快。我把它用于我的html5网络项目。它还使用依赖项和任何基于文本的文件进行CSS;-)
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用javascript存储变量的最安全方式
- 以可优化的方式使用requirejs加载模板
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 为react组件传递道具的最佳方式
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 如何“;过滤器”;或者以其他方式重构该数据
- 您有更好的动态方式来缩短复杂的代码jquery吗
- 当使用extern和目标JavaScript时,我如何强制Haxe编译器使用require语句
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- 在ng重复循环中显示条件内容的最佳方式是什么
- require.js是require的另一种方式
- 使用require.js将jQuery、Underscore和Backbone作为AMD模块的最佳方式是什么?
- 在node.js中使用require()函数的不同方式是什么?
- 我可以在Node.js中以原型方式使用require()吗?