diff --git a/components/OpenWrite.js b/components/OpenWrite.js index a782af3d4ac..de25813c806 100644 --- a/components/OpenWrite.js +++ b/components/OpenWrite.js @@ -83,7 +83,7 @@ function existedWhiteList(path, whiteListStr) { // 移除查询参数(从 '?' 开始的部分)和 `.html` 后缀 const processedPath = path .replace(/\?.*$/, '') // 移除查询参数 - .replace(/.*\/([^\/]+)(?:\.html)?$/, '$1') // 去掉前面的路径和 .html + .replace(/.*\/([^/]+)(?:\.html)?$/, '$1') // 去掉前面的路径和 .html // 严格检查白名单字符串中是否包含处理后的 path // const whiteListArray = whiteListStr.split(',') diff --git a/next.config.js b/next.config.js index ac305e345a9..987dc60063c 100644 --- a/next.config.js +++ b/next.config.js @@ -33,14 +33,26 @@ const locales = (function () { })() // 编译前执行 -// const preBuild = (function () { -// // 删除 public/sitemap.xml 文件 ; 否则会和/pages/sitemap.xml.js 冲突。 -// const sitemapPath = path.resolve(__dirname, 'public', 'sitemap.xml') -// if (fs.existsSync(sitemapPath)) { -// fs.unlinkSync(sitemapPath) -// console.log('Deleted existing sitemap.xml from public directory') -// } -// })() +const preBuild = (function () { + if ( + !process.env.npm_lifecycle_event === 'export' && + !process.env.npm_lifecycle_event === 'build' + ) { + return + } + // 删除 public/sitemap.xml 文件 ; 否则会和/pages/sitemap.xml.js 冲突。 + const sitemapPath = path.resolve(__dirname, 'public', 'sitemap.xml') + if (fs.existsSync(sitemapPath)) { + fs.unlinkSync(sitemapPath) + console.log('Deleted existing sitemap.xml from public directory') + } + + const sitemap2Path = path.resolve(__dirname, 'sitemap.xml') + if (fs.existsSync(sitemap2Path)) { + fs.unlinkSync(sitemap2Path) + console.log('Deleted existing sitemap.xml from root directory') + } +})() /** * 扫描指定目录下的文件夹名,用于获取所有主题