nuxt初始化
This commit is contained in:
64
nuxt-web/scripts/generate-prerender-routes.mjs
Normal file
64
nuxt-web/scripts/generate-prerender-routes.mjs
Normal file
@@ -0,0 +1,64 @@
|
||||
import { promises as fs } from 'node:fs'
|
||||
import path from 'node:path'
|
||||
|
||||
const appRoot = process.cwd()
|
||||
const newsDir = path.join(appRoot, 'content', 'news')
|
||||
const casesDir = path.join(appRoot, 'content', 'cases')
|
||||
|
||||
const markdownFiles = async (dir) => {
|
||||
const entries = await fs.readdir(dir, { withFileTypes: true })
|
||||
return entries
|
||||
.filter((entry) => entry.isFile() && entry.name.endsWith('.md'))
|
||||
.map((entry) => entry.name.replace(/\.md$/, ''))
|
||||
.sort()
|
||||
}
|
||||
|
||||
const buildRoutes = async () => {
|
||||
const news = await markdownFiles(newsDir)
|
||||
const cases = await markdownFiles(casesDir)
|
||||
|
||||
return [
|
||||
'/',
|
||||
'/contact',
|
||||
'/company',
|
||||
'/company/culture',
|
||||
'/company/tech',
|
||||
'/company/joinus',
|
||||
'/products/ecommerce',
|
||||
'/products/ecommerce/freight-booking',
|
||||
'/products/ecommerce/net-cargo',
|
||||
'/products/ecommerce/bctp',
|
||||
'/products/ecommerce/obh',
|
||||
'/products/logistics',
|
||||
'/products/logistics/platform',
|
||||
'/products/logistics/cargo-agent',
|
||||
'/products/logistics/ship-agent',
|
||||
'/products/logistics/vehicle-transport',
|
||||
'/products/logistics/warehouse',
|
||||
'/products/port',
|
||||
'/products/port/cdi',
|
||||
'/products/port/cdi-bulk',
|
||||
'/products/port/cdi-container',
|
||||
'/products/port/cloud-yard',
|
||||
'/products/shipping',
|
||||
'/products/shipping/boat',
|
||||
'/products/shipping/company',
|
||||
'/solutions/inland-river-shipping',
|
||||
'/solutions/logistics-chain',
|
||||
'/solutions/port-supply-chain',
|
||||
'/solutions/supply-chain',
|
||||
'/services/chuandai',
|
||||
'/services/yunmatou',
|
||||
'/services/jining',
|
||||
'/services/dianshang',
|
||||
'/services/ilog',
|
||||
'/services/changzhan',
|
||||
'/news',
|
||||
'/cases',
|
||||
...news.map((slug) => `/news/${slug}`),
|
||||
...cases.map((slug) => `/cases/${slug}`)
|
||||
]
|
||||
}
|
||||
|
||||
const routes = await buildRoutes()
|
||||
process.stdout.write(`${JSON.stringify(routes, null, 2)}\n`)
|
||||
Reference in New Issue
Block a user