mirror of
https://gitee.com/wot-design-uni/wot-design-uni.git
synced 2025-12-06 17:18:40 +08:00
65 lines
1.7 KiB
JavaScript
65 lines
1.7 KiB
JavaScript
/*
|
||
* @Author: weisheng
|
||
* @Date: 2023-07-20 00:34:54
|
||
* @LastEditTime: 2023-07-24 10:10:45
|
||
* @LastEditors: weisheng
|
||
* @Description:
|
||
* @FilePath: \wot-design-uni\docs\build\file-writer.js
|
||
* 记得注释
|
||
*/
|
||
const fs = require('fs')
|
||
const path = require('path')
|
||
const readYaml = require('read-yaml')
|
||
const routesConfig = readYaml.sync(path.resolve(__dirname, '../routes.yml'))
|
||
const { siteMapUrls, createSitemapXml } = require('./sitemap')
|
||
const versions = require('../build/deploy/change-log')
|
||
const pkg = require('../../package.json')
|
||
|
||
// 写入 version.json 文件
|
||
const versionWriter = () => {
|
||
// 把 versions 对象转换为json格式字符串
|
||
const content = JSON.stringify(versions)
|
||
|
||
// 指定创建目录及文件名称,__dirname为执行当前js文件的目录
|
||
const versionDir = path.resolve(__dirname, '../public')
|
||
const file = path.resolve(__dirname, '../public/versions.json')
|
||
|
||
if (!fs.existsSync(versionDir)) {
|
||
fs.mkdirSync(versionDir, { recursive: true })
|
||
}
|
||
|
||
// 写入文件
|
||
fs.writeFile(file, content, (err) => {
|
||
if (err) {
|
||
return console.error(err)
|
||
}
|
||
})
|
||
}
|
||
|
||
// 写入 sitemap.xml 文件
|
||
const sitemapWriter = () => {
|
||
const originUrl = 'https://wot-design-uni.netlify.app/' + pkg.version + '/#'
|
||
const sitemapUrl = siteMapUrls(routesConfig, originUrl)
|
||
const sitemapXml = createSitemapXml(sitemapUrl)
|
||
|
||
// 创建sitemap操作
|
||
const sitemapDir = path.resolve(__dirname, '../')
|
||
const sitemap = path.resolve(__dirname, '../sitemap.xml')
|
||
|
||
if (!fs.existsSync(sitemapDir)) {
|
||
fs.mkdirSync(sitemapDir, { recursive: true })
|
||
}
|
||
|
||
// 写入文件
|
||
fs.writeFile(sitemap, sitemapXml, (err) => {
|
||
if (err) {
|
||
return console.error(err)
|
||
}
|
||
})
|
||
}
|
||
|
||
module.exports = {
|
||
sitemapWriter,
|
||
versionWriter
|
||
}
|