We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
作为「答疑提效」的一部分,把已经梳理的 FAQ 和 Error Code 规范化和工程化,让开发者通过错误码能自行解决大量问题,这对于 Umi/Bigfish 开发者和用户来说是双赢的。
// match map export const matchMap = { ERR_CASE_SENSIVE({ err }) { return err.message.includes('case sensive') }, };
根据「From」的不同会有不同的接入方式。
用户看到的报错信息最终是这样,
ERR_CASE_SENSIVE, 大小写不匹配问题 Check https://umijs.org/docs/error-code#ERR_CASE_SENSIVE for more details. Error Message Error Stack
关键代码,
// error.ts // 放 utils 里? export function buildError(opts: { code: string, errorData, err: Error }) { assert(opts.errorData[code], ``); err.message = [`${opts.code}, ${opts.errorData[code].title}`, `Check ...`, err.message].join('\n'); return err; } export function parseErrorData() { return JSON.parse(readFileSync('path/to/errorData.json')); } export function findErrorCode(opts: { err: Error, errorCodeMap }) { // match err.message with errorCodeMap const codes = Object.keys(errorCodeMap); // ... } // modifyAppData Hook const initialErrorData = parseErrorData(); api.appData.errorData = api.applyPlugins({ key: 'modifyErrorData', initialValue: initialErrorData, }); api.appData.errorCodeMap = api.applyPlugins({ key: 'modifyErrorCodeMap', initialValue: initialErrorCodeMap, }); // Throw Core Error throw new Error(buildError({ code: 'ERR_CORE_XXX', errorData, err })); // Throw Build Error const code = findErrorCode({ err, errorCodeMap }); throw new Error(buildError({ code, errorData, err }));
提供额外的错误码和 match 表即可。
api.modifyErrorData(); api.modifyErrorCodeMap();
详细描述。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
为什么做
作为「答疑提效」的一部分,把已经梳理的 FAQ 和 Error Code 规范化和工程化,让开发者通过错误码能自行解决大量问题,这对于 Umi/Bigfish 开发者和用户来说是双赢的。
计划
方案
错误码梳理
接入 Umi
根据「From」的不同会有不同的接入方式。
用户看到的报错信息最终是这样,
关键代码,
接入 Bigfish
提供额外的错误码和 match 表即可。
错误码
ERR_CASE_SENSIVE
详细描述。
参考
文档
错误码
The text was updated successfully, but these errors were encountered: