使用RequireJS命名模块

时间:2015-06-18 23:52:10

标签: javascript requirejs

我试图弄清楚如何在不使用模块本身的相对路径的情况下命名模块。

例如:

而不是这样做:

//module is defined in app/js/routers.js
define('app/js/routers',['app/js/currentView'],function(currentView) {

});

我宁愿这样做:

//module is defined in app/js/routers.js
define('routers',['app/js/currentView'],function(currentView) {

});

这是可能的还是一个坏主意?显然,您为每个模块提供的名称必须是唯一的。我想我只是不知道定义调用中可选第一个参数的看点,如果它必须与它所包含的脚本路径相同。

1 个答案:

答案 0 :(得分:1)

  

我想如果必须与它所包含的脚本路径相同,那么我就不会看到定义调用中可选第一个参数的看点。

是的,如果您要将模块放在一个文件中,该文件的路径(相对于您在RequireJS配置中提供的baseURL是模块的名称,那么您不 em>必须为define提供模块名称。实际上,在这种情况下,不应该给出模块名称。 RequireJS documentation州:

  

这些[即模块名称]通常由优化工具生成。您可以自己明确命名模块,但它使模块的可移植性降低 - 如果将文件移动到另一个目录,则需要更改名称。 通常最好避免在模块的名称中编码,只需让优化工具在模块名称中刻录。优化工具需要添加名称,以便可以捆绑多个模块一个文件,以便在浏览器中加快加载速度。

(强调补充。)