我正在使用require.js加載通常工作正常的我的模塊。儘管如此,我還有兩個額外的問題:使用require.js加載原型增強
1)如果您有一個模塊類似輔助類,併爲現有原型定義了其他方法(如String.isNullOrEmpty
),那麼如何包含它們?您希望避免使用對模塊的引用。
2)需要更改以使用jQuery。我明白,需要jQuery需要,但我也需要通過$
?
謝謝!
我正在使用require.js加載通常工作正常的我的模塊。儘管如此,我還有兩個額外的問題:使用require.js加載原型增強
1)如果您有一個模塊類似輔助類,併爲現有原型定義了其他方法(如String.isNullOrEmpty
),那麼如何包含它們?您希望避免使用對模塊的引用。
2)需要更改以使用jQuery。我明白,需要jQuery需要,但我也需要通過$
?
謝謝!
1)如果有一個模塊,它像一個輔助類,並定義現有原型 附加方法(如 String.isNullOrEmpty),如何你會包括他們嗎?您希望使用對模塊的引用來避免 。
如果您需要延長的原型,然後就是不作爲你的最後一個參數返回一個值,並用它來require
:
// helpers/string.js
define(function() {
String.prototype.isNullOrEmpty = function() {
//
}
});
// main.js
require(['moduleA', 'helpers/string'], function(moduleA) {
});
2)有什麼需要改變使用jQuery,太。我明白, jQuery需要被要求,但我也需要傳遞$?
jQuery的唯一的要求是,你配置的路徑正確
require.config({
paths: {
jquery: 'path/to/jquery'
}
});
require(['jquery', 'moduleB'], function($, moduleB) {
// Use $.whatever
});
在我看來這是不需要使用the version of RequireJS that has jQuery built into it,因爲這主要是使用jQuery的時候不支持AMD。
現在它確實保持它的獨立性,允許您輕鬆地交換另一個庫(想想Zepto)。
2/jQuery的它真的很簡單:
require(["jquery", "jquery.alpha", "jquery.beta"], function($) {
//the jquery.alpha.js and jquery.beta.js plugins have been loaded.
$(function() {
$('body').alpha().beta();
});
});
更多信息需要網站:http://requirejs.org/docs/jquery.html#get
1在我的開發者對於這樣的擴展我做到了,在沒有需要的模塊代碼全局文件/。 ...我包括在我的要求......不完美的應用程序,但它的做工精細
global.js
個myglobalvar ="";
(...other global stuff...)
myapp.js
// Filename: app.js
define([
(...)
'metrix.globals'
], function(.....){
myApp = {
(...)
嗨讓邁克爾,讓我們假設我想將我的html文件分成三個不同的文件:1爲html,1爲jquery(事件處理),1爲javascript部分。你會推薦這個嗎? – AntonSack 2013-03-25 13:46:39
如果你只有3個文件(每個文件中的一個),我認爲這將是有效的,而不是必需的做事的最佳方式,但「有效的方式」;) – 2013-04-09 07:20:38