以下の様に、テキストファイルの内容の取り出しを import で済ませたい場合です。
極端に大きなファイルで無ければ、起動時間に与える影響は少ないと思います。
Hello, world.
This is an example text file.
import example from "./example.txt";
export default async function Home() {
return <pre>{example}</pre>;
}
設定方法
next.config.mjs に webpack の設定を追加します。
/** @type {import('next').NextConfig} */
const nextConfig = {
webpack(config, options) {
config.module.rules.push({
test: /\.(txt)$/,
type: "asset/source",
});
return config;
},
};
export default nextConfig;
新規に .d.ts ファイルを作成し、テキストファイルの型宣言をしておきます。
declare module "*.txt"
webpack 5 より前はローダーの設定を追加するのが一般的だった様ですが、現在は Asset Modules が使用できて便利な様です。
コメント