目次
webpackの詳しい説明
webpackのインストールにはnpmまたはyarnを使用します
webpackが2つに分かれている理由ファイルはどこにありますか? webpack 3 では、webpack 自体とその cli は同じパッケージ内にありましたが、バージョン 4 では、管理を改善するために 2 つが分離されました。
に webpack 実行環境を構成させ、vue-cli を関連付けます。通常、vue-cli を使用すると、プロジェクトの構成と生成が自動的に行われます。 src の下でプロジェクトを開発し、最後に npm run build を使用してパッケージ化し、dist ディレクトリを生成します。まだ覚えているかわかりませんが、次のセクションで実際のプロセスを感じてみましょう。
const a = 1;
module.exports = {}

webpack4.0の設定の詳細説明

Jul 13, 2018 pm 03:15 PM
vue.js webpack

この記事では主に webpack4.0 の設定について詳しく説明します。必要な方はぜひ参考にしてください。混沌とした就活シーズンで目立ち、待ち望んでいた内定を獲得したい。そうすれば、他の人が知らないことをたくさん知って、翼を広げて空に飛べるはずです。ワシが空を飛べるのは生まれ持った才能によるものではなく、幼い頃に崖から落ちる危険があったからなのです。愚かな鳥は、知恵によってではなく、たゆまぬ努力によって最初に飛びます。

webpackの詳しい説明

Webpackは、すべての静的リソースをパッケージ化することを目的としています。なぜ Webpack が必要なのかと疑問に思う人もいるでしょう。 Webpack は、最新のフロントエンド テクノロジの基礎であり、jquery、html、css の静的 Web 開発などの従来の開発手法は遅れています。今は MVVM、データ駆動型インターフェイスの時代です。 Webpack は、最新の JS 開発におけるさまざまな新しくて便利なテクノロジを収集し、パッケージ化します。 webpack の説明は膨大なので、皆さんの時間を無駄にするつもりはありません。このような図を理解すると、webpack のエコシステムがわかります:

webpack 4.0の構成

const path = require('path');  //引入node的path模块
const webpack = require('webpack'); //引入的webpack,使用lodash
const HtmlWebpackPlugin = require('html-webpack-plugin')  //将html打包
const ExtractTextPlugin = require('extract-text-webpack-plugin')     //打包的css拆分,将一部分抽离出来  
const CopyWebpackPlugin = require('copy-webpack-plugin')
// console.log(path.resolve(__dirname,'dist')); //物理地址拼接
module.exports = {
    entry: './src/index.js', //入口文件  在vue-cli main.js
    output: {       //webpack如何输出
        path: path.resolve(__dirname, 'dist'), //定位,输出文件的目标路径
        filename: '[name].js'
    },
    module: {       //模块的相关配置
        rules: [     //根据文件的后缀提供一个loader,解析规则
            {
                test: /\.js$/,  //es6 => es5 
                include: [
                    path.resolve(__dirname, 'src')
                ],
                // exclude:[], 不匹配选项(优先级高于test和include)
                use: 'babel-loader'
            },
            {
                test: /\.less$/,
                use: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: [
                    'css-loader',
                    'less-loader'
                    ]
                })
            },
            {       //图片loader
                test: /\.(png|jpg|gif)$/,
                use: [
                    {
                        loader: 'file-loader' //根据文件地址加载文件
                    }
                ]
            }
        ]                  
    },
    resolve: { //解析模块的可选项  
        // modules: [ ]//模块的查找目录 配置其他的css等文件
        extensions: [".js", ".json", ".jsx",".less", ".css"],  //用到文件的扩展名
        alias: { //模快别名列表
            utils: path.resolve(__dirname,'src/utils')
        }
    },
    plugins: [  //插进的引用, 压缩,分离美化
        new ExtractTextPlugin('[name].css'),  //[name] 默认  也可以自定义name  声明使用
        new HtmlWebpackPlugin({  //将模板的头部和尾部添加css和js模板,dist 目录发布到服务器上,项目包。可以直接上线
            file: 'index.html', //打造单页面运用 最后运行的不是这个
            template: 'src/index.html'  //vue-cli放在跟目录下
        }),
        new CopyWebpackPlugin([  //src下其他的文件直接复制到dist目录下
            { from:'src/assets/favicon.ico',to: 'favicon.ico' }
        ]),
        new webpack.ProvidePlugin({  //引用框架 jquery  lodash工具库是很多组件会复用的,省去了import
            '_': 'lodash'  //引用webpack
        })
    ],
    devServer: {  //服务于webpack-dev-server  内部封装了一个express 
        port: '8080',
        before(app) {
            app.get('/api/test.json', (req, res) => {
                res.json({
                    code: 200,
                    message: 'Hello World'
                })
            })
        }
    }
    
}
ログイン後にコピー
webpack4.0の設定の詳細説明1. フロントエンド環境の構築

webpackのインストールにはnpmまたはyarnを使用します

npm install webpack webpack-cli -g 
# 或者 
yarn global add webpack webpack-cli
ログイン後にコピー

webpackが2つに分かれている理由ファイルはどこにありますか? webpack 3 では、webpack 自体とその cli は同じパッケージ内にありましたが、バージョン 4 では、管理を改善するために 2 つが分離されました。

新しい webpack フォルダーを作成し、その下に try-webpack を作成し (初期化中にプロジェクト名がインストール パッケージと同じ名前にならないようにするため)、webpack を初期化して構成します。

 npm init -y  //-y 默认所有的配置
 yarn add webpack webpack-cli -D  //-D webpack安装在devDependencies环境中
ログイン後にコピー

2. webpack をデプロイします

上記で構築した環境プロジェクトで、package.json に移動してスクリプトを構成し、webpack

  "scripts": {
    "build": "webpack --mode production" //我们在这里配置,就可以使用npm run build 启动我们的webpack
  },
  "devDependencies": {
    "webpack": "^4.16.0",
    "webpack-cli": "^3.0.8"
  }
ログイン後にコピー

に webpack 実行環境を構成させ、vue-cli を関連付けます。通常、vue-cli を使用すると、プロジェクトの構成と生成が自動的に行われます。 src の下でプロジェクトを開発し、最後に npm run build を使用してパッケージ化し、dist ディレクトリを生成します。まだ覚えているかわかりませんが、次のセクションで実際のプロセスを感じてみましょう。

3. npm が build を実行すると何が起こるか

ルート プロジェクトの下に try-webpack を使用して新しい src ディレクトリを作成します。 src ディレクトリに新しい Index.js ファイルを作成します。ケースに焦点を当てて、任意のコードを記述できます:

const a = 1;

記述後、ターミナルでコマンド npm run build を実行すると、新しい dist ディレクトリが追加されていることがわかります。 webpack によってパッケージ化された main.js ファイル。これは vue-cli で行うことと同じです。

4. Webpackp 設定プロセス

開発中に通常、src の下にどのファイルをパッケージ化しますか?実際、vue-cli プロジェクトの src には次の点だけがあることを思い出してください:

HTML、css、公開に必要な js

  • css プリコンパイラー stylus、less、sass

  • es6 の高度な構文

  • 画像リソース.png, .gif, .ico, .jpg

  • ファイル間に必要な

  • alias @とその他の修飾子

  • 次に、これらの点に分けて説明します webpackの構成を説明しますwebpack の .config.js を開き、手順に従ってプロセス行を段階的に完了します。

  • ✍️webpack での Html 設定

プロジェクトのルート ディレクトリである try-webpack の下に新しい webpack.config.js ファイルを作成し、commonJS モジュラー メカニズムを使用して出力し、新しい Index.html を作成します。

module.exports = {}

エントリ エントリを設定します。これは、vue-cli では、エクスポート出力であるディレクトリ内の main.js に相当します。 webpack を工場として理解すると、さまざまな原材料が工場に投入され、その後、工場で一連の梱包作業が行われ、梱包されたものが (オンラインで) 販売されるようになります。

const path = require('path'); //引入我们的node模块里的path
//测试下 console.log(path.resolve(__dirname,'dist')); //物理地址拼接
module.exports = {
    entry: './src/index.js', //入口文件  在vue-cli main.js
    output: {       //webpack如何向外输出
        path: path.resolve(__dirname, 'dist'),//定位,输出文件的目标路径
        filename: '[name].js' //文件名[name].js默认,也可自行配置
    },
ログイン後にコピー
html-webpack-plugin をインストールして導入する必要がある HTML パッケージング
yarn add html-webpack-plugin -D //在开发环境中安装
const HtmlWebpackPlugin = require('html-webpack-plugin')  //引入打包我们的HTML
ログイン後にコピー

module.exports でプラグイン (プラグイン) を設定します:

 plugins: [  //插进的引用, 压缩,分离美化
        new HtmlWebpackPlugin({  //将模板的头部和尾部添加css和js模板,dist 目录发布到服务器上,项目包。可以直接上线
            file: 'index.html', //打造单页面运用 最后运行的不是这个
            template: 'src/index.html'  //vue-cli放在跟目录下
        }),
    ],
ログイン後にコピー

設定後、ターミナルで npm run dev と入力すると、webpack がパッケージ化します。 html さて、js が自動的にインポートされました。

    <p>Hello World</p>
<script></script>
ログイン後にコピー

dist ディレクトリをライブサーバー化し、8080 ポートを開始すると、Hello World が表示されます。これはオンライン版のページです。

以上がwebpack4.0の設定の詳細説明の詳細内容です。詳細については、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)

VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド Jun 15, 2023 pm 06:17 PM

Vue は、インタラクティブで効率的な Web アプリケーションを迅速に構築するのに役立つ優れた JavaScript フレームワークです。 Vue3 は、多くの新機能が導入された Vue の最新バージョンです。 Webpack は現在最も人気のある JavaScript モジュール パッケージャーおよびビルド ツールの 1 つで、プロジェクト内のさまざまなリソースの管理に役立ちます。この記事では、Webpack を使用して Vue3 アプリケーションをパッケージ化してビルドする方法を紹介します。 1.Webpackをインストールする

vite が .env ファイルを解析する方法についての詳細な説明 vite が .env ファイルを解析する方法についての詳細な説明 Jan 24, 2023 am 05:30 AM

Vue フレームワークを使用してフロントエンド プロジェクトを開発する場合、デプロイ時に複数の環境をデプロイすることになりますが、開発環境、テスト環境、オンライン環境で呼び出されるインターフェイス ドメイン名が異なることがよくあります。どうすれば区別できるでしょうか?それは環境変数とパターンを使用することです。

Ace コード エディターを Vue プロジェクトに統合する方法の詳細な図による説明 Ace コード エディターを Vue プロジェクトに統合する方法の詳細な図による説明 Apr 24, 2023 am 10:52 AM

Ace は、JavaScript で書かれた埋め込み可能なコード エディターです。 Sublime、Vim、TextMate などのネイティブ エディターの機能とパフォーマンスに匹敵します。あらゆる Web ページや JavaScript アプリケーションに簡単に埋め込むことができます。 Ace は Cloud9 IDE のメイン エディタとして維持されており、Mozilla Skywriter (Bespin) プロジェクトの後継です。

vue3 で Amap API を使用する方法について話しましょう vue3 で Amap API を使用する方法について話しましょう Mar 09, 2023 pm 07:22 PM

Amap を使用したとき、公式から多くのケースやデモを勧められましたが、これらのケースはすべてネイティブ メソッドを使用してアクセスしており、vue や React のデモは提供されていませんでした。vue2 アクセスについてはオンラインで多くの人が書いていますが、この記事では、 vue3 が一般的に使用される Amap API をどのように使用するかを見ていきます。皆さんのお役に立てれば幸いです。

Vue3 で単体テストを作成する方法を調べる Vue3 で単体テストを作成する方法を調べる Apr 25, 2023 pm 07:41 PM

Vue.js は、今日のフロントエンド開発において非常に人気のあるフレームワークとなっています。 Vue.js が進化し続けるにつれて、単体テストの重要性がますます高まっています。今日は、Vue.js 3 で単体テストを作成する方法を検討し、いくつかのベスト プラクティスと一般的な問題と解決策を提供します。

vue がファイル スライス アップロードを実装する方法の簡単な分析 vue がファイル スライス アップロードを実装する方法の簡単な分析 Mar 24, 2023 pm 07:40 PM

実際の開発プロジェクトのプロセスでは、比較的大きなファイルをアップロードする必要がある場合がありますが、その場合はアップロードが比較的遅くなり、バックグラウンドでフロントエンドがファイルのスライスをアップロードする必要がある場合があります。これは非常に簡単です。たとえば、1Aギガバイトのファイル ストリームはいくつかの小さなファイル ストリームに分割され、インターフェイスはそれぞれの小さなファイル ストリームを配信するように要求されます。

Vue2実装APIの原理を解析する Vue2実装APIの原理を解析する Jan 13, 2023 am 08:30 AM

Vue3 のリリース以来、単語合成 API は Vue を書く学生の視野に入ってきました。合成 API が以前のオプション API よりもどれほど優れているかは誰もが聞いたことがあると思います。そして、@ のリリースにより、 vue/composition-api プラグイン、Vue2 学生もバスに乗れます. 次に、主に Response ref と Reactive を使用して、このプラグインがどのようにこれを実現しているかを詳細に分析します。

JSX 構文と Vue のテンプレート構文の簡単な比較 (利点と欠点の分析) JSX 構文と Vue のテンプレート構文の簡単な比較 (利点と欠点の分析) Mar 23, 2023 pm 07:53 PM

Vue.js では、開発者は、JSX 構文とテンプレート構文という 2 つの異なる構文を使用してユーザー インターフェイスを作成できます。どちらの構文にもそれぞれ長所と短所があるので、それらの違い、長所と短所について説明します。

See all articles