reactjs - 创建生产版本时出错“不包含默认导出”
问题描述
Hii 我正在使用语言翻译,"react-intl": "^4.1.1",
但是当我创建生产版本时,代码没有被编译并显示有关默认导出的错误
错误 :
Creating an optimized production build...
Failed to compile.
./src/lang/entries/es_ES.js
Attempted import error: '../locales/es_ES' does not contain a default export (imported as 'enMessages').
我正在导入这样的文件:
import enMessages from '../locales/en_US';
出口:
export default {
"sidebar.dashboard" : "Dashboard"
}
最重要的是它在本地工作并在创建生产构建时产生问题,我"react-scripts": "^3.3.0"
在这个项目中使用。我该如何解决这个问题?
更新: 导入 enMessages 后
import endata from '@formatjs/intl-pluralrules/dist/locale-data/en';
import enMessages from '../locales/en_US';
const EnLang = {
messages: {
...enMessages
},
locale: 'en-US',
data: endata
};
export default EnLang;
解决方案
尝试这个...
// ./src/lang/locales/en_US.js
export default {
// We are trying to export a `key`, initiated as a String
- "sidebar.dashboard" : "Dashboard",
// let's treat sidebar/dashboard as plain keys
+ sidebar: {
+ dashboard: "Dashboard"
+ }
}
并考虑使用如下...
// ./src/lang/entries/es_ES.js
import enMessages from '../locales/en_US';
// Based on how you are using `enMessages`
+ export default { // best to use this to avoid `conflict` in later use
+ ...enMessages, // destructure directly here
locale: 'en-US',
data: endata
};
// Use this for reference (though )
<Component id="sidebar.dashboard" />
推荐阅读
- r - 如何在同一个面板中绘制两个图(ggplot2)
- node.js - 如何将导入的模块替换为存根
- postgresql - MS Visio 模型如何存储在数据库中?
- python - tensorflow和普通python程序中的常量和变量有什么区别?
- asp.net - Dll 未在 ASP.net Web Api 2.0 中加载
- angular - 如何将服务文件中的数据获取到角度 6 中的组件
- c++ - 在 sf::sound 和 qslidebar 之间建立连接
- html - 低于 768px 的视口两侧的不同填充
- email - 多个收件人的电子邮件跟踪问题
- swift - 3D 模型看起来与 ARKit 中的大小不同