Requirejs require.js+;cldrjs为什么重命名配置路径条目会破坏它? 总结
下面的重命名(s/cldr/cldrjs)中断了加载功能Requirejs require.js+;cldrjs为什么重命名配置路径条目会破坏它? 总结,requirejs,cldr,Requirejs,Cldr,下面的重命名(s/cldr/cldrjs)中断了加载功能 require.config({ 路径:{ -cldr:“./bower_components/cldrjs/dist/cldr” +cldrjs:“./bower_components/cldrjs/dist/cldr” } }); 要求([ -“cldr”, -“cldr/补充文件” +“cldrjs”, +“cldrjs/补充文件” ],功能(Cldr){ log(“Cldr实例”,新的Cldr(“en”); },函数(){ 安装
require.config({
路径:{
-cldr:“./bower_components/cldrjs/dist/cldr”
+cldrjs:“./bower_components/cldrjs/dist/cldr”
}
});
要求([
-“cldr”,
-“cldr/补充文件”
+“cldrjs”,
+“cldrjs/补充文件”
],功能(Cldr){
log(“Cldr实例”,新的Cldr(“en”);
},函数(){
安装程序
安装库
bower安装cldrjs requirejs
你应该得到:
cldrjs/tmp/cldrjs
├── cldrjs#0.3.2无关
└── requirejs#2.1.11无关
用法
打开index.html
(可在上找到)。Require.js应该加载Cldr,并且您的控制台应该记录它的一个实例,例如:
Cldr实例对象{attributes={…},locale=“en”,supplemental=function(),more…}
问题:
为什么重命名会破坏它?
为了让您更方便,我已经放置了两个主文件(可在上找到)。只需更改引用即可对其进行测试
——a/index.html
+++b/index.html
@@ -4,7 +4,7 @@
-
+
花椒
一条值得知道的信息
cldr.js的标题:(可访问)
define(函数(){
//实现…是的,没有依赖关系。
})
cldr/supplemental.js的标题:(可访问)
定义([“./cldr”],函数(){
//实现…依赖项是上面的cldr.js文件。
})
我在IRC上与@jrburke聊天,他指出
`../cldr'首先作为ID相对于'supplemental'进行解析,最终在ID中出现'cldr',然后转换为路径
但由于该路径已用于一个名为“cldrjs”的模块(这是一个问题),因此在该路径中找不到“cldr”模块
在我建立项目后,会有更多
但我认为最终的结果是,您将希望使用map或packages配置
解决方案:
一般的经验法则是:如果包只包含一个JS模块,那么路径配置就足够了。如果包包含多个模块(如本例中所示),那么包配置通常更适合
除非包管理器了解前端模块
谢谢@jrburke想知道@jrburke+jrburke是否能告诉我哪里会出错……谢谢