ផ្លូវ​ច្រើន​ជាន់​គឺ​ជា​ប្រភេទ​ផ្លូវ​ឌីណាមិក​ម៉្យាងដែល​អាច​យក​ទៅ​ប្រើប្រាស់​សំរាប់​ចូល​ទៅ​កាន់​ឯកសារ​ណា​មួយ។ ផ្លូវ​នេះ​ត្រូវ​បង្កើត​ឡើង​ដោយការ​បង្កើត​ឯកសារ​មួយ​ប្រភេទ​មមាន​ទំរង់​ជា […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>