要求 JS填充程序在更新路径后丢失
requirejs shim lost after path is updated
我正在尝试通过动态更改路径来标记 ckeditor。 它最初是设置的,但如果打开了标志,我会尝试更改它。当我不更改路径时,填充程序工作正常,并且 ckeditor 已解决。 当我在检查标志后更改路径时,ckeditor 是未定义的。
配置.js
require.config({
paths: {
...
ckeditor_core: 'lib/ckeditor/ckeditor',
...
},
shim: {
...
ckeditor_core: {
exports: 'CKEDITOR'
},
...
}
});
if (jx && jx.activeFeatures && !jx.activeFeatures.CKEDITOR_4) {
require.config({
map : {
'*' : {
'ckeditor_core' : ''lib/ckeditor-old/ckeditor''
}
});
}
}
define({});
我尝试在几个不同的地方对地图进行此更改,但我总是遇到同样的问题:
TypeError: ckeditor is undefined
对我来说,在我再次设置路径后,垫片似乎被打破了。 当我在控制台中时,我能够很好地解决 CKEDITOR。
谢谢你的帮助!
这是您使用的map
配置:
map: {
'*': {
'ckeditor_core': 'lib/ckeditor-old/ckeditor'
}
}
当这个映射生效并且 RequireJS 遇到对模块ckeditor_core
的请求时,它做的第一件事就是将此请求替换为 lib/ckeditor-old/ckeditor
请求。然后 RequireJS 检查填充程序。由于lib/ckeditor-old/ckeditor
没有为其定义填充程序,但这是一个需要填充程序的模块,因此模块的值为 undefined
。您需要做的是为它添加一个垫片:
'lib/ckeditor-old/ckeditor': {
exports: 'CKEDITOR'
},
相关文章:
- 如何在编译时更新yeoman angular中的html路径
- 将URL路径与<a>attr('href')来动态更新.active类
- 不可变,更新在给出无效的键路径
- D3 在更新时调整路径大小(获得 10 像素宽度) - 为什么
- 当更新流星中的嵌套集合时,如何为更新路径传递变量
- 如何使用jQueryURI更新具有完整目录路径的链接
- 如何在Angular文件上传模块中更新URL路径
- 在嵌套json对象中查找和更新,而不更改不同子路径中的相同密钥对值
- 由于斜杠字符,Firebase多路径更新失败
- d3.js甜甜圈图::其他路径被渲染而不更新
- 使用路径线选择更新图案
- 具有多个更新路径的主干用户模型
- FabricJS:如何获取更新路径的位置
- 避免无效路径格式错误在D3更新
- 从类型化数组更新svg路径
- 使用HTML文本字段沿着SVG文本路径更新文本
- 如何隐藏路径位置,当使用外部Javascript更新HTML与外部文本文档
- D3饼图更新后不计算新路径值
- PhantomJS正在更新资源文件路径
- 使用grunt和processshtml来更新base href(不保留部分路径)