Astroで生成されるCSSを1つにまとめる

以前にAstroでCSSファイルを任意の名前にする方法を試しましたが、生成されるファイルを分割しないことによってやりたかったことができそうだったので方法をメモしておきます。

サンプルコード

ページの構成については以前の記事と同じです。
astro.config.mjs でcssCodeSplitの設定を追加します。

// @ts-check
import { defineConfig } from 'astro/config';

// https://astro.build/config
export default defineConfig({
  build: {
    inlineStylesheets: 'never'
  },
  vite: {
    build: {
      cssCodeSplit: false,
      rollupOptions: {
        output: {
          assetFileNames: (assetInfo) => {
            if (assetInfo.name?.endsWith(".css")) {
              return "assets/style[extname]";
            }
            return "assets/[name].[hash][extname]";
          },
        },
      },
    },
  },
});

cssCodeSplitはViteの設定で、CSSコードの分割を有効にするかどうかを設定できます。
これでCSSファイルはassets/style.cssのみ生成されるようになりました。
CSSファイルを分割しないデモページ

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2026年3月
1234567
891011121314
15161718192021
22232425262728
293031