refactor: 统一错误处理机制
- 引入 ConfigError/TemplateError/BuildError/FileError 与 wrapAsyncError,统一错误输出 - generator 入口接入 wrapAsyncError,确保命令行执行路径一致 - 兜底逻辑使用 instanceof,保留 BuildError/TemplateError 上下文信息 - 合并格式化提交(仅缩进/换行调整)
This commit is contained in:
@@ -1,8 +1,15 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { getSubmenuForNavItem, assignCategorySlugs } = require('../config');
|
||||
const { tryLoadArticlesFeedCache, buildArticlesCategoriesByPageCategories } = require('../cache/articles');
|
||||
const { tryLoadProjectsRepoCache, applyRepoMetaToCategories, buildProjectsMeta } = require('../cache/projects');
|
||||
const {
|
||||
tryLoadArticlesFeedCache,
|
||||
buildArticlesCategoriesByPageCategories,
|
||||
} = require('../cache/articles');
|
||||
const {
|
||||
tryLoadProjectsRepoCache,
|
||||
applyRepoMetaToCategories,
|
||||
buildProjectsMeta,
|
||||
} = require('../cache/projects');
|
||||
const { getPageConfigUpdatedAtMeta } = require('../utils/pageMeta');
|
||||
|
||||
function prepareNavigationData(pageId, config) {
|
||||
@@ -32,7 +39,12 @@ function resolveTemplateName(pageId, data) {
|
||||
let templateName = explicitTemplate || pageId;
|
||||
|
||||
if (!explicitTemplate) {
|
||||
const inferredTemplatePath = path.join(process.cwd(), 'templates', 'pages', `${templateName}.hbs`);
|
||||
const inferredTemplatePath = path.join(
|
||||
process.cwd(),
|
||||
'templates',
|
||||
'pages',
|
||||
`${templateName}.hbs`
|
||||
);
|
||||
if (!fs.existsSync(inferredTemplatePath)) {
|
||||
templateName = 'page';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user