Як показати версію вебпрограм в Next.js (next js 14 app router)
На сьогодні ми можем скористатись двома способами для роботи з JSON у ES modules:
1. Можна прочитати та проаналізувати файли JSON самостійно:
import { readFile } from 'fs/promises';
const json = JSON.parse(
await readFile(
new URL('./some-file.json', import.meta.url)
)
);
2. Або скориставшись функцією CommonJS require для завантаження файлів JSON:
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const data = require("./data.json");
Залишилось налаштувати Next.js використовши next.config.js
та publicRuntimeConfig
.
Oтже мій footer.tsx
:
import getConfig from 'next/config';
export default function Footer() {
const { publicRuntimeConfig } = getConfig();
return (
<footer>
...
<small>
App Version: {publicRuntimeConfig?.version}
</small>
</footer>
);
}
та мій next.config.js
:
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const json = require("./package.json");
const nextConfig = {
...
publicRuntimeConfig: {
version: json.version,
},
};
export default nextConfig;
Користуйтесь на здоров’я!
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів