我有一个带有动态加载语言的create-react-app PWA,如here
它可以在develop
和production
模式下在本地正常工作
但是,当将其部署到生产服务器中时,会有一些刹车:
*所有lingui文件都可以从服务器获得,
* service-worker正确地预缓存了资源,包括所有messages.po
和所有i18n-*
js块
*似乎延迟将它们导入应用程序不会触发任何获取操作(也不是service-worker或xhr),并且会失败,例如Cannot find module './en_GB/messages.js'
有关检查内容的任何提示?
编辑:
弄清楚了webpack可以正确地将* .po文件映射到可延迟导入的块urls
但它不会为已编译的* .js(或* .json)块创建映射(奇怪的是,除了多种语言中的一种之外)
做了一个临时的解决方法
我让应用程序在生产中延迟导入i18n未编译的.po
文件,而不是已编译的.js
唯一的副作用是* .po文件会在应用程序运行时被编译,从而导致lang加载和lang设备之间的延迟时间(很小)。