ផ្លូវច្រើនជាន់គឺជាប្រភេទផ្លូវឌីណាមិកម៉្យាងដែលអាចយកទៅប្រើប្រាស់សំរាប់ចូលទៅកាន់ឯកសារណាមួយ។ ផ្លូវនេះត្រូវបង្កើតឡើងដោយការបង្កើតឯកសារមួយប្រភេទមមានទំរង់ជា […path].astro ។ ជាក់ស្តែង បើសិនជាយើងបង្កើតឯកសារមួយនៅក្នុងថត src/pages មានឈ្មោះថា […path].astro ផ្លូវចូលទៅកាន់ឯកសារនេះអាចជា /movie, /admin/movie, /admin/posts/movie ឬអាចជាថតមានប៉ុន្មានជាន់ក៏បានដែរ ទោះបីជាឯកសារនេះមិនស្ថិតនៅក្នុងថតទាំងនោះក៏ដោយ។ មួយវិញទៀត ដោយហេតុថា path គឺជាប៉ារ៉ាម៉ែតមួយ ដូចនេះវាអាចជាពាក្យណាក៏បានដែរ។
<!--src/pages/[...path].astro-->
---
export function getStaticPaths() {
return [
{params: {path: 'movie'}},
{params: {path: '/admin/movie'}},
{params: {path: '/admin/posts/movie'}},
]
}
const { path } = Astro.params
---
<p>ផ្លូវចូលទៅកាន់ឯកសារ [..path].astro គឺជា {path}.astro</p>
នៅក្នុងកូដខាងលើនេះ ផ្លូវចំនួន ៣ ត្រូវបានបង្កើតឡើងសំរាប់ចូលទៅកាន់ឯកសារ […path].astro តែមួយ គឺយើងអាចចូលតាមផ្លូវណាក៏បានដែរ ទោះបីជាឯកសារនេះស្ថិតនៅក្នុងថត src/pages ក៏ដោយ។
ការបង្កើតផ្លូវឌីណាមិកដោយប្រើប្រាស់ក្បួនឈ្មោះ getStaticPaths() កន្លងមកនេះ គឺសំរាប់តែការបង្កើតទំព័រតាមរបៀប SSG ពីព្រោះបើយើងមិនធ្វើការកែប្រែអ្វីទេ កម្មវិធី Astro.js នឹងប្រើរបៀប SSG នេះក្នុងការបង្កើតទំព័រទាំងអស់នៅពេល build ។ ក៏ប៉ុន្តែ បើសិនជាយើងធ្វើការកែកុនដើម្បីប្រើប្រាស់របៀប SSR ដែលតំរូវអោយបង្កើតទំព័រនៅលើ server ការបង្កើតផ្លូវឌីណាមិកត្រូវធ្វើឡើងតាមវិធីផ្សេងទៅវិញ។
ការបង្កើតផ្លូវឌីណាមិកតាមរបៀប SSR ត្រូវធ្វើឡើងដោយគ្មានការប្រើប្រាស់ក្បួនឈ្មោះ getStaticPaths() នេះឡើយ។ ហើយទិន្នន័យដែលជាផ្លូវចូលទៅកាន់ឯកសារផ្សេងៗ ត្រូវផ្តល់អោយទៅអថេរឈ្មោះ Astro.params ជាស្វ័យប្រវត្តិ។ យើងអាចស្រង់យកទិន្នន័យពីអថេរ Astro.params នេះមកប្រើការបានតាមការចាំបាច់។
មុននឹងអាចប្រើប្រាស់របៀប SSR នេះបាន យើងចាំបាច់ត្រូវធ្វើការកែកុនមួយចំនួន ដោយដំឡើងកញ្ចប់ចាំបាច់សំរាប់របៀប SSR នេះនៅក្នុងកម្មវិធី Astro.js របស់យើង។ ការតំឡើងកញ្ចប់ចាំបាច់ទាំងនោះ ត្រូវធ្វើឡើងដោយការសរសេរនៅលើបង្អួច Terminal ថា៖
npx astro add node
បើសិនជាយើងបើកឯកសារ astro.config.mjs នៅក្នុងគំរោងនៃកម្មវិធី Astro.js របស់យើង ឯកសារនោះនឹងត្រូវកែប្រែអោយទៅជា៖
import { defineConfig } from 'astro/config';
import node from "@astrojs/node";
// https://astro.build/config
export default defineConfig({
output: "server",
adapter: node({
mode: "standalone"
})
});
ចាប់ពីពេលនេះតទៅ គំរោងនៃកម្មវិធី Astro.js របស់យើង នឹងប្រើប្រាស់របៀប SSR ដើម្បីបង្កើតទំព័រនៅលើ server ។
យើងបានដឹងរួចមកហើយថា តាមរបៀប SSR យើងមិនចាំបាច់ប្រើប្រាស់ក្បួនឈ្មោះ getStaticPaths() នេះឡើយ ហើយទិន្នន័យស្តីពីផ្លូវឌីណាមិក នឹងត្រូវផ្តល់អោយទៅអថេរ Astro.params ជាស្វ័យប្រវត្តិ យើងអាចស្រង់យកទិន្នន័យនេះមកប្រើប្រាស់ដូចខាងក្រោមនេះ៖
<!--src/pages/[...path].astro-->
---
const { path } = Astro.params
---
<p>ផ្លូវចូលទៅកាន់ឯកសារ [..path].astro គឺជា {path}.astro</p>