我目前正在为我们想要定义我们自己的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