OpenAINext.js2018/02/05 19:10

Next.js 5: Universal Webpack, CSS Imports, Plugins and Zones

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Next.js 5 リリース: ユニバーサルWebpack、CSSインポート、プラグイン、Zones

Key Points

  • ユニバーサルWebpack対応
  • CSS/TS読み込みをプラグインで簡単導入
  • Zonesでマイクロアプリを結合

Summary

Next.js 5 が公開されました。サーバーとクライアントで共通のWebpackパイプライン(ユニバーサルWebpack)を採用し、CSS/プリプロセッサやTypeScriptの読み込みが容易になり、プラグイン経由で拡張可能になっています。アップグレードは npm i next@latest react@latest react-dom@latest を実行してください。

Key Points

  • ユニバーサルWebpack
    • サーバー/クライアント両方でWebpackが動作。next.config.jsのデコレータに isServer が渡されます(例: webpack(config, { dev, isServer }))。既存のWebpackローダーがそのまま使用可能。
  • CSS とプリプロセッサ
    • import './index.css' が可能。必要なローダーはピア依存として追加(例: css-loader, style-loader, postcss-loader)。簡単に導入するには next-css のようなプラグインを利用:const withCss = require('next-css'); module.exports = withCss({...});
  • TypeScript サポート
    • ts-loader を使った設定で即時利用可。プラグイン next-typescript で簡潔に導入できる。
  • プラグイン設計
    • プラグインは設定をデコレートする関数。既存のプラグイン(next-css, next-sass, next-less, next-typescript, @zeit/next-preact 等)を組み合わせて使える。
  • Zones(マイクロアプリ連携)
    • パスベースで複数のNext.jsアプリを親ドメインに結合可能。ルールJSONと now alias -r rules.json my-domain.com などで運用。ローカル用に micro-proxy も公開。
  • ビルドとキャッシュ改善
    • 大規模アプリでの next build が約23.6%高速化。動的importのバンドル名がコンテンツアドレス(ハッシュ)化され、デプロイ間で再ダウンロードを減らす。
  • 本番ソースマップ
    • 本番で外部ソースマップを有効にするには if (!dev) config.devtool = 'source-map' を設定。

実務的な注意点

  • 既存の next.config.js を確認し、webpack デコレータのシグネチャに isServerdefaultLoaders が追加されている点を反映してください。
  • ローダーはプロジェクトで明示的にインストール・管理する(ピア依存)。プラグイン利用で設定を簡素化できます。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Next.js 5: ユニバーサル Webpack、CSS インポート、プラグインとゾーン

Next.js 5 の概要

Next.js 5 は、大規模アプリケーション向けの拡張性(extensibility)と構成可能性(composability)、およびパフォーマンスの向上に重点を置いています。

主なポイント:

  • 拡張性: プラグインやカスタム設定を通じて機能を容易に追加・拡張できること。
  • 構成可能性: 大規模アプリケーションでのモジュール化や再利用がしやすい設計。
  • パフォーマンス: ビルドや実行時の最適化による高速化。

技術的な要素:

  • Universal Webpack のサポート
  • CSS インポート(CSS Imports)の改善
  • Plugins と Zones の導入/改善

これらの改善により、Next.js 5 は開発体験と実行時の両面での向上を目指しています。