webpackでvue環境を構築する際の異常なエラーを解決する

webpackでvue環境を構築する際の異常なエラーを解決する

今日、webpack を使用して手動で環境を構築したところ、おかしなエラーが発生し、長い間次のステップに進むことができませんでした。

まず、package.jsonを設定します

//npm init -y を自動設定する

すべて順調です

次にwebpackツールをインストールします

npm で webpack をインストールします。webpack-cli --save-dev
  //またはnpm i webpack webpack-cli -DでもOK

webpackテストの実行

このステップで、コマンドラインにwebpackと入力してEnterキーを押すと、エラーが大量に報告され始めました。

その場合、最も速い方法は、ファイルを削除して再インストールすることです。 再度試してみても、同じエラーが報告され、混乱します。

webpack -V を出力したところ、バージョン番号すら出力されないことに気付きました。後から、webpack がグローバルにインストールされていないことが原因かもしれないと考えました。以前も使ったことがあるので、これは最も起こりにくい問題だと思います。

次に、webpackとwebpack-cliを再インストールするか、前の手順を実行して、srcファイルを手動で作成します。

4. webpackテストを実行する

CommonJS仕様: サーバーサイドモジュール化仕様に基づくノード出力

スロー: modules.exports
インポート: 必要

ES6 モジュール:

'' から xxx をインポート
エクスポートデフォルト {}

webpack はデフォルトで js および json ファイルの導入のみをサポートしているため、.css .png.html などの他のファイルタイプを JS に導入する場合は、解析用の適切なローダーをインストールする必要があります。

さまざまなローダー(ファイルパーサー)を構成する

Babel関連のインストール

BabelとReact関連のローダーをインストールする

cnpm と babel-loader @babel/core @babel/preset-env -D

CSSローダーをインストールする

npm i css-loader スタイルローダー -D
cnpm i css-loader スタイルローダー -D

HTMLプラグインをインストールする

npm と html-webpack-plugin -D を実行します。
cnpm と html-webpack-plugin -D

PS: [開発環境と本番環境にインストールされた依存関係の違い]

開発環境、つまり、プロジェクトのコーディング段階で必要な依存関係。これらは、--save-dev または -D コマンドを使用してインストールされる webpack ビルド ツール、babel ローダーなど、オンラインになった後は参照する必要はありません。

実稼働環境では、プロジェクトがオンラインになり、外部サービスを提供し始めた後も、jQuery ライブラリ、ルーティングなどの依存関係のサポートが必要になります。これらは、--save または -S コマンドを使用してインストールできます。
プロジェクトのルート ディレクトリに webpack.config.js 構成ファイルを作成し、次の構成を順番に完了します。

(1)構成エントリ

module.exports = { エントリ:'./src/index.js' }

(2)出力の設定

定数パス = require('path');
      モジュール.エクスポート = {
          // ...
          出力: {
              パス: path.resolve(__dirname, 'dist'),
              ファイル名: 'main.js'
          }
      }

(3)構成ローダー

モジュール.エクスポート = {
    // ...
    モジュール:{
        ルール:[
            {
                テスト: /\.css$/,
                使用:['style-loader','css-loader']
            },
            {
                test: /\.js?$/, // jsx/js ファイルの正規表現 exclude: /node_modules/, // node_modules フォルダーを除外 use:{
                    // ローダーは babel です
                    ローダー: 'babel-loader',
                    オプション:
                        // babel エスケープ設定オプション babelrc: false,
                        プリセット: [
                            [require.resolve('@babel/preset-env'), {モジュール: false}]
                        ]、
                        キャッシュディレクトリ: true
                    }
                }
            }
        ]
    }
}

(4)プラグインの設定

HtmlWebPackPlugin は 'html-webpack-plugin' を必要とします。
モジュール.エクスポート = {
	// ...
	プラグイン:[
		新しいHtmlWebPackプラグイン({
			テンプレート: 'public/index.html',
			ファイル名: 'index.html',
			注入: 真
		})
	]
}

パッケージ化コマンドを実行する

npx webpack --mode 開発

パッケージ化操作を実行するには、npm run build コマンドを構成します。

//package.jsonファイルにビルド項目を追加{
    「スクリプト」: {
        "ビルド": "webpack --mode プロダクション"
    }
}

パッケージ化コマンドを実行します。

npm 実行ビルド

ローカルサーバーを構築する

依存関係をインストールする

cnpm と webpack-dev-server -D

webpack.config.js ファイルでローカル サービス関連の情報を構成する

モジュール.エクスポート = {
          // ...
          開発サーバー: {
              コンテンツベース: './dist',
              ホスト: 'localhost',
              ポート: 3000
          }
      }

package.jsonファイルで起動コマンドを設定する

{
    「スクリプト」: {
        "開始": "webpack-dev-server --mode 開発 --open"
    }
}

サービス開始コマンドを実行する

npm スタート

そして統合

Vueとの統合

vue-loader: vue ファイルを解析する vue-template-compiler

      インストール: npm install vue-loader vue-template-compiler -D
      webpack ファイルを設定します: {test:/\.vue$/,use:['vue-loader']},

      vueLoaderPlugin プラグインをインスタンス化します。const { VueLoaderPlugin } = require('vue-loader')
      プラグインのインスタンス化を追加します。
       },
          プラグイン: [
              新しい VueLoaderPlugin()
          ]

より少ない統合

インストール: npm install less-loader less -D
構成:
 モジュール: {
        ルール:
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},
        ]
    },

Sassとの統合

インストール: npm install sass-loader node-sass -D
構成:
 モジュール: {
        ルール:
            {test:/\.(scss|sass)$/、use:['style-loader','css-loader','sass-loader']}、
        ]
    },

Sass 共通構文: https://www.jb51.net/article/222337.htm

vue-routerで

インストール: npm install vue-router -D

vuexとの統合

インストール: npm install vuex -D

これで、webpack で vue 環境を構築する際の例外エラーの解決に関するこの記事は終了です。webpack で vue 環境を構築する際のエラーに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue init webpack の依存関係のダウンロードが停止する問題を解決する
  • Maptalks+three.js+vue webpackは、2次元マップに3次元モデルを貼り付ける操作を実装します。
  • vue+webpackプロジェクトのクロスドメインインターフェースの問題を解決する
  • Webpackを使ったVue3開発環境の構築手順を詳しく解説
  • webpack+vue-cil での ProxyTable 設定インターフェース アドレス プロキシ操作
  • Vue webpack ビルド リソース相対パスの問題と解決策

<<:  Docker で Zookeeper をインストールする (スタンドアロンおよびクラスター)

>>:  MySql ビュー、トリガー、ストアド プロシージャに関する簡単な説明

推薦する

du コマンドを使用して Linux システム ディレクトリのサイズを取得する方法

Linux システムを使用したことがある人なら、Linux システムの ls コマンドは通常、ファイ...

CSS はコンテナ レベル (div...) タグを 1 つの位置 (ページの右端) に固定します。

コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...

Vueカスタムディレクティブの詳細

目次1. 背景2. ローカルカスタム指示3. グローバルカスタム指示4.1 カスタムコマンドフック関...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...

Vue computedのキャッシュ実装原理の詳細な説明

目次計算結果を初期化する依存関係の収集アップデートを配布する総括するこの記事では、計算された初期化と...

vscode で Prettier Code プラグインを使用する詳細なチュートリアル

なぜprettierを使うのですか?大企業では、フロントエンド開発コードに独自のコード標準がある場合...

JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は...

mysql 5.7.11 winx64 初期パスワード変更

公式サイトからMySQL-5.7.11-winx64の圧縮版をダウンロード。インストール後、パスワー...

Docker swarm の簡単なチュートリアル

3つの仮想マシン132、133、134を群がらせる1. クラスターを初期化し、自分自身をクラスターに...

MongoDB データベースの状態を監視する Zabbix3.4 メソッド

Mongodb には db.serverStatus() コマンドがあり、これを使用して Mongo...

MySQL 5.7 における部分テーブルのデュアルマスター同期の実装プロセスの詳細な説明

序文最近、私はある要件に遭遇しました。会社の業務上、2 つのデータベース間の一部のテーブルは、リアル...

MySQL 5.7 クラスタ構成手順

目次1. サーバーAのmy.cnfファイルを変更する2. サーバーBのmy.cnfファイルを変更する...

js キャンバスは角丸画像を実現します

この記事では、角を丸くするためのjsキャンバスの具体的なコードを参考までに紹介します。具体的な内容は...

JavaScript が重複したネットワークリクエストを防ぐ方法の例

序文開発中は、インターフェース要求の繰り返しによってさまざまな問題が発生することがよくあります。ネッ...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...