我需要在组件外部使用react-int,特别是在util文件中。为了实现这一点,我正在使用此代码 https://gist.github.com/genadyp/435f4e264cb6e377836cf63bee8987d8但是我遇到了一个失败的 eslint 问题,它不接受在函数中使用 require 并使用动态文件路径。
这是 ESLINT 输出:
错误意外要求(( 全局要求错误 对 require(( 的调用应该使用字符串文字导入/无动态要求
任何意见和建议将不胜感激。
//util.js
export function formatMessage(t, locale) {
if (t=== 0 || t === 2400) {
const translations
=require(`src/locales/${locale.toLowerCase()}.json`));
const intlProvider = new IntlProvider({ locale, messages:
translations }, {});
const mes = defineMessages({
morning: {
id: 'greeting.morning',
defaultMessage: 'hello',
},
evening: {
id: 'greeting.evening',
defaultMessage: 'good evening',
},
});
const { intl } = intlProvider.getChildContext();
return t === 0 ? intl.formatMessage(mes.morning) :
intl.formatMessage(mes.evening);
}
}
您可以在此处阅读有关此规则推理的更多信息:https://eslint.org/docs/rules/global-require
如果您非常确定自己在做什么,则可以禁用在语句之前添加此注释的规则:// eslint-disable-next-line global-require