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 ビュー、トリガー、ストアド プロシージャに関する簡単な説明

推薦する

MySQLで重複データを削除する詳細な例

MySQLで重複データを削除する詳細な例重複レコードには 2 つの意味があります。1 つは完全に重複...

Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明

1. mysql をインストールします。次のコマンドを実行して、YUM ソースを更新します。 rpm...

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

iframe テクニックを使用して訪問者 QQ 実装のアイデアとサンプル コードを取得する

今日、仕事中に、一時的に追加した友人から、Web ページを使用して訪問者の QQ を取得する方法を尋...

MAC で MySQL の初期パスワードを変更する方法

問題の説明: Macを購入し、初めてMySQLをインストールしました。初期パスワードが分かりません。...

MySQL データベースの 1045 エラーの解決方法

ローカル データベースがサーバー データベースに接続されているときに発生する 1045 の問題を解決...

Linux を使用して時間指定ファイルが占有するディスク容量を計算する方法

スケジュールされたタスク エディターを開きます。Cent は、デフォルトで vim を使用して直接開...

Vue ページ スタック マネージャーの詳細

目次2. 試した方法2.1 キープアライブ2.2 ネストされたルートを持つ CSS 3. 機能説明4...

Vue プロジェクトがページング効果を実現

ページング効果は、参考までにvueプロジェクトに実装されています。具体的な内容は次のとおりです。 1...

1 つの記事で JSON (JavaScript Object Notation) を理解する

目次JSONが登場JSON構造JSONオブジェクトJson オブジェクトと JavaScript オ...

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...

MySQLでトランザクションを開始する方法

序文この記事では主にMySQLでトランザクションを開始する方法について紹介します。関連情報については...

流星効果を実現する JavaScript キャンバス

この記事では、JavaScriptキャンバスで流星の特殊効果を表示するための具体的なコードを参考まで...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

MySQL 5.7 クラスタ構成手順

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