目次
WebpackからViteへの移行
Viteの不要なWebパック構成
静的資産処理
スタイリング(CSS/SCSS)
輸送(TypeScript/JSX)
ノードモジュール解像度
生産/開発モード
ファイル拡張子
ロールアッププラグインの互換性
最初のViteプロジェクトを設定します
高度な構成:エイリアス、環境変数、プロキシ
エイリアス
環境変数
サーバーのプロキシ
建物ライブラリ
結論
ホームページ ウェブフロントエンド CSSチュートリアル 既存のWebアプリにViteを追加します

既存のWebアプリにViteを追加します

Mar 15, 2025 am 10:09 AM

既存のWebアプリにViteを追加します

「Veet」と発音されるViteは、その速度と使いやすさで有名な現代のJavaScriptバンドラーです。最小限の構成を必要とする強力なツールですが、広範なカスタマイズオプションを提供します。この記事では、既存のプロジェクトを別のバンドラー(Webpackなど)からViteに移行していることを詳しく説明しています。新しいプロジェクトについては、公式のVite文書を参照してください。レガシーの移行であっても、その構造をよりよく理解するために、単純なViteプロジェクトの足場を最初に推奨します。

WebpackからViteへの移行

このガイドは、かなりの長年のWebpackプロジェクトを移行する経験を反映しています。このプロセスは、移行中のViteの構成機能を強調しています。

Viteの不要なWebパック構成

Viteは本質的に多くのタスクを処理し、通常、広範なWebpack構成を必要とします。これにより、多くの一般的なWebpackプラグインと設定が必要になります。

静的資産処理

Webpackは、静的資産(画像、フォントなど)をロードするために明示的な構成を必要とすることがよくあります。

 {
  テスト:/\ .(png|jpg|gif| svg| eot|woff2|ttf )$/
  使用: [
    {
      ローダー:「ファイルローダー」
    }
  ]
}
ログイン後にコピー

Viteはこれを自動的に管理します。

スタイリング(CSS/SCSS)

Webpackのスタイリング構成は複雑になる可能性があります。

 {
  テスト:/\.s?css$/、
  使用:[minicssextractplugin.loader、 "css-roader"、 "sass-roader"]]
}、

// 後で

new MinicsSextractPlugin({filename: "[name]  -  [contenthash] .css"})、
ログイン後にコピー

ViteはCSSとSCSをネイティブにサポートします。 SASSをインストールするだけで、Viteは残りを処理します。

輸送(TypeScript/JSX)

webpackがTypeScriptとJSXのトランスピレーションが必要です。

 {
  テスト:/\ .(t|j)sx?$/、
  除外: /node_modules /、
  ローダー:「バベルローダー」
}、
ログイン後にコピー

...対応するバベル構成を備えています。 Viteは、このすぐに使えるボックスを処理し、最新のJavaScript機能とTypeScriptをサポートしています。プラグインは、古いブラウザのサポートに利用できます。

ノードモジュール解像度

webpackには、 node_modulesを解決するための明示的な構成が必要です。

解決する: {
  モジュール:[path.resolve( "./ node_modules")]]
}
ログイン後にコピー

Viteはこれを自動的に処理します。

生産/開発モード

Webpackは多くの場合、 modeを使用して環境を区別します。

モード:isprod? 「生産」:「開発」、
ログイン後にコピー

Viteは個別のコマンド(開発用のvitevite build for Production)を使用します。

ファイル拡張子

Webpackでは、ファイル拡張機能を指定する必要があることがよくあります。

解決する: {
  拡張機能:[".ts"、 ".tsx"、 ".js"]、
}
ログイン後にコピー

Viteは一般的な拡張機能を自動的に処理します。

ロールアッププラグインの互換性

多くのロールアッププラグインはViteと互換性があり、既存のプラグインのスムーズな遷移を提供します。互換性情報については、Viteドキュメントを参照してください。

最初のViteプロジェクトを設定します

既存のプロジェクトを移行するには、JavaScriptエントリファイルを参照するHTMLエントリポイント( index.htmlなど)から始めます。必要なプラグインをインストールします(例: @vitejs/plugin-react for React Projects)。 vite.config.tsファイルを作成します:

 {vite "から{defineconfig}をインポートします。
「@vitejs/プラグインの反応」からのImport React;

デフォルトのデフォルトdefineconfigをエクスポートする({
  プラグイン:[React()]
});
ログイン後にコピー

NPMスクリプトを追加:

 「dev」:「vite」、
「ビルド」:「Vite Build」、
「プレビュー」:「Vite Preview」、
ログイン後にコピー

npm run devで開発サーバーを開始します。

高度な構成:エイリアス、環境変数、プロキシ

エイリアス

WebPackエイリアスは、 resolve.aliasを使用してViteで複製できます。

解決する: {
  エイリアス:{
    jscolor:path.resolve( "./ util/jscolor.js")、
    アプリ:path.resolve( "./ app")、
    // ...その他のエイリアス
  }
}、
ログイン後にコピー

環境変数

Viteは、環境変数にimport.meta.env使用します。通常、 VITE_が付いています。レガシープロジェクトの場合、既存のprocess.env変数を処理するためにカスタムプラグインが必要になる場合があります。

サーバーのプロキシ

開発中にサービスをバックエンドするリクエストをプロキシするため:

サーバー:{
  プロキシ: {
    "/graphql": "http:// localhost:3001"
  }
}
ログイン後にコピー

建物ライブラリ

ライブラリを構築するには、 vite.config.tsbuildオプションを構成します:(簡潔にするために省略された例ですが、元の例と同様)

結論

Viteは、Webアプリケーション開発の大幅な改善を提供し、速度と使いやすさを提供します。ロールアッププラグインとの機能と互換性により、既存のプロジェクトを比較的簡単に移行します。

以上が既存のWebアプリにViteを追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? Apr 05, 2025 pm 11:24 PM

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

SVGでタータンパターンを生成する静的サイトを作成する方法 SVGでタータンパターンを生成する静的サイトを作成する方法 Apr 09, 2025 am 11:29 AM

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

See all articles