我正在将旧的 Dojo Toolkit 应用程序移植到更新的技术(Vue.js 和 WebPack)。
我的场景是...
这些新模块应该与旧的 Dojo 加载器或新的 WebPack 加载器一起使用。我能够删除大部分 dojo 依赖项,但我仍然需要为新组件使用插件 dojo/text(将 html 文件作为字符串加载)和 dojo/i18n(基于语言环境加载模块)。
这些组件正在 WebPack 应用程序上进行原型设计,但在生产中它仍将使用 Dojo Loader util,所有 Dojo 依赖项都已删除。
我能够配置 WebPack 以在使用 dojo/text 时加载 HTML,在使用 dojo/i18n 时使用默认语言:
plugins: [
new webpack.NormalModuleReplacementPlugin(/^dojo\/text!/, function(data) {
data.request = data.request.replace(/^dojo\/text!/, '!html-loader!');
}),
new webpack.NormalModuleReplacementPlugin(/^dojo\/i18n!/, function(data) {
data.request = data.request.replace(/^dojo\/i18n!/, '');
})
]
问题...
默认语言的典型 i18n Dojo 模块是:
define({
root: {
placeholder: 'Name'
},
es: true,
pt: true
});
Dojo loader 仅获取root属性作为模块结果:
define({
placeholder: 'Name'
});
问题是...
我可以使用现有的加载器或插件加载、解析或评估模块并仅返回根属性作为结果吗?
制作这个模块:
define({
root: {
placeholder: 'Name'
},
es: true,
pt: true
});
变成
define({
placeholder: 'Name'
});