我目前正在爲我們想要定義我們自己的API的大型JavaScript項目工作。我使用RequireJS作爲我的依賴加載器,它很適合我,允許我在各自的文件中定義模塊。我不使用我自己的命名空間,模塊返回一個實例,它可以在其他模塊使用,即:如何使用RequireJS構建JavaScript項目
define(
['imported_module'],
function(module){
module.doSomething();
}
)
然而,隨着文件數量的增加,我想,以決定如何構建這些文件在文件夾中。目前我使用下面的方案來命名我的文件:
[projectname].[packagename].[ModuleName]
一個例子可以stackoverflow.util.HashMap.js。我想向大家介紹一個項目文件夾,每包一個文件夾,重命名文件到模塊的名稱,如:
stackoverflow/util/HashMap.js
這個結構我的代碼很整齊地到文件夾,但文件名,現在只反映模塊。我想定義一些路由能夠定義RequireJS應該如何查找文件。例如:
文件
stackoverflow/util/stackoverflow.util.HashMap.js
應由語句導入的
define(['stackoverflow.util.HashMap'],function(HashMap){});
有與結構化大型的JavaScript項目,如果是這樣的人的經驗,你可以分享你的做法?
你可以使用自定義插件來做到這一點......類似於'use!stackoverflow.util.HashMap' – blockhead 2012-03-05 16:17:57
由於blockhead說:插件API有一個「標準化」函數,它取一個名字並將其轉換爲路徑。看看:http://requirejs.org/docs/plugins。html#apinormalize – David 2012-03-09 08:33:58