Jadual Kandungan
1 🎜>
使用html-webpack-plugin
三、写在最后
Rumah hujung hadapan web tutorial js Pengenalan asas kepada konfigurasi dan penggunaan webpack5 JavaScript

Pengenalan asas kepada konfigurasi dan penggunaan webpack5 JavaScript

Sep 05, 2022 pm 05:24 PM
javascript

Artikel ini membawakan anda pengetahuan yang berkaitan tentang javascript ialah berkas modul statik (pengikat modul) untuk aplikasi JavaScript moden, saya harap kita lihat konfigurasi dan penggunaan JavaScript webpack5 ia akan membantu semua orang.

Pengenalan asas kepada konfigurasi dan penggunaan webpack5 JavaScript

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

1 🎜>

1.1 Pengenalan

Dalam pembangunan front-end yang paling primitif, kami memperkenalkan fail seperti js dan css dengan memasukkan skrip dan tag pautan secara manual ke dalam html untuk mencapai tujuan petikan. , yang bukan sahaja menyusahkan, tetapi juga memerlukan permintaan berasingan untuk setiap fail, dan terdedah kepada konflik berubah-ubah.

Jadi konsep pemodulatan JavaScript telah dicadangkan, dan penyelesaian seperti pemodulatan AMD, CommonJS, CMD dan ES6 muncul dalam urutan.

Tetapi sebenarnya, projek kami menggunakan pembangunan modular tidak boleh dijalankan secara langsung pada penyemak imbas Contohnya, banyak modul npm menggunakan sintaks CommonJS, yang tidak disokong oleh penyemak imbas.

Pada masa ini, sudah tiba masanya untuk alat pembungkusan modul muncul. Tugasnya adalah untuk menyelesaikan kebergantungan antara modul dan membungkus projek ke dalam fail JS yang boleh dikenali oleh penyemak imbas.

Alat pembungkusan yang popular pada masa ini dalam komuniti termasuk Webpack, Parcel, Rollup, dsb.

Jika anda telah menggunakan perancah seperti vue-cli atau create-ract-app, maka anda sebenarnya telah menggunakan webpack, kerana semuanya adalah pembungkusan sekunder berdasarkan webpack , Oleh itu , selepas menguasai prinsip webpack, anda boleh membangunkan vue dan bertindak balas projek kejuruteraan dengan lebih baik.

1.2 Lima konsep teras

Fail konfigurasi webpack dalam projek terletak dalam direktori akar:

webpack.config.js

entri (entry)

Entri titik permulaan ( titik masuk) menunjukkan modul pek web mana yang harus digunakan sebagai permulaan membina graf pergantungan dalamannya Contohnya, main.js dalam projek vue ialah fail kemasukan semasa membungkus.

module.exports = {
  entry: './src/main.js'
};
Salin selepas log masuk
Semua kebergantungan dalam projek harus dikaitkan secara langsung atau tidak langsung dengan fail kemasukan Contohnya, kami memperkenalkan modul luaran (axios, penghala, elementUI, dll.) dalam main.js. Atribut

output (output)

memberitahu webpack tempat untuk mengeluarkan output fail yang diciptanya dan cara menamakan fail ini./dist. bundles

const path = require('path');
module.exports = {
  entry: './src/main.js',
  output: {
  	//__dirname是当前目录根目录
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  }
};
Salin selepas log masuk
    Atribut laluan ouput menentukan lokasi fail berpakej dijana. Jika tidak, webpack akan mencipta direktori ini secara automatik.
  • Atribut nama fail ouput menentukan nama fail yang dibungkus.
pemuat

pemuat membenarkan pek web memproses fail bukan JavaScript (seperti imej, fail css, fail vue, dsb., pek web itu sendiri hanya memahami JavaScript).

Pemuat boleh menukar semua jenis fail kepada modul yang sah yang boleh diproses oleh webpack, dan kemudian anda boleh menggunakan keupayaan pembungkusan webpack untuk memprosesnya.

module.exports = {
  //...
  module: {
    rules: [
      { test: /\.css$/, use: ['style-loader','css-loader'] }
    ]
  }
};
Salin selepas log masuk
Apabila mentakrifkan pemuat dalam konfigurasi webpack, ia mesti ditakrifkan dalam module.rules, dengan atribut ujian ialah nama fail biasa yang perlu dipadankan dan atribut use ialah pemuat yang sepadan, yang boleh berbilang (array ).

Contohnya, pemuat gaya dan pemuat css di atas memproses fail css yang diimport ke dalam js (jika anda terus memperkenalkan fail css ke dalam js, ​​ralat akan dilaporkan).

plugin

oader digunakan untuk menukar jenis modul tertentu, manakala pemalam boleh digunakan untuk melaksanakan pelbagai tugas yang lebih luas.

Pemalam terdiri daripada pengoptimuman pembungkusan dan pemampatan kepada mentakrifkan semula pembolehubah dalam persekitaran meningkatkan kefungsian pek web.

Untuk menggunakan pemalam, untuk pemalam terbina dalam pek web, kami boleh mengimport pek web dan mengakses terus pemalam terbina dalam Untuk pemalam luaran, kami perlu memasangnya dahulu, kemudian memerlukannya, dan kemudian memperkenalkan pemalam (baru) dalam contoh tatasusunan pemalam.

const HtmlWebpackPlugin = require('html-webpack-plugin'); // 通过 npm 安装
const webpack = require('webpack'); // 用于访问内置插件
const config = {
  module: {
    rules: [
      //...
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({template: './src/index.html'})
  ]
};
module.exports = config;
Salin selepas log masuk
Pemalam html-webpack-plugin di atas secara automatik menjana fail html yang sepadan dalam direktori berpakej berdasarkan halaman templat (

) dan secara automatik memasukkan teg skrip untuk pembungkusan dan penjanaan js (Pembungkusan webpack biasa tidak menghasilkan fail html). template

mod (mod)

    Mod pembangunan (pembangunan): optimumkan kelajuan pembungkusan dan nyahpepijat kod.
  • Mod pengeluaran (pengeluaran): mengoptimumkan kelajuan pembungkusan, mengoptimumkan prestasi berjalan kod

module.exports = {
  mode: 'production'
};
Salin selepas log masuk
Iaitu, mod pembungkusan adalah berbeza, kemudian webpack Strategi pengoptimuman untuk kod berpakej juga berbeza.

2. Konfigurasi dan penggunaan

Mari bina projek pek web yang sangat mudah.

Struktur Projek

接着我们创建基本的项目结构和文件。

my-webpack-demo
├── src
| └── index.js(入口文件)
├── utils
| └── time.js(时间工具)
├── package-lock.json
├── package.json
├── webpack.config.js(webpack配置)

其中utils下的time.js负责生成当前时间 time.js:

var time = new Date();
var m = time.getMonth() + 1;
var t = time.getFullYear() + "-" + m + "-" + time.getDate() + " " + time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds();
module.exports = {
  now: t,
};
Salin selepas log masuk

入口文件index.js:

import { now } from "../utils/time.js";
document.write("现在是: " + now);
Salin selepas log masuk

webpack配置文件webpack.config.js:

module.exports = {
  entry: "./src/index.js",
  mode: "development",
  output: {
    filename: "index.js",
  },
};
Salin selepas log masuk

我们在终端执行打包命令:

此时webpack自动在项目中创建了dist目录,并生成了打包好的index.js文件,那么我们如何验证index.js文件是否有效呢?

使用html-webpack-plugin

由于webpack并不会自动生成html文件,还记得上面的html-webpack-plugin插件吗?

通过npm安装:

在配置文件中引入:

const HtmlWebpackPlugin = require("html-webpack-plugin"); // 通过 npm 安装
module.exports = {
  entry: "./src/index.js",
  mode: "development",
  output: {
    filename: "index.js",
  },
  plugins: [new HtmlWebpackPlugin({ template: "./src/index.html", scriptLoading: "blocking" })],
};
Salin selepas log masuk

记得在src下创建index.html模板:

欧克!我们再次执行打包命令npx webpack 。

可以看到,在dist目录下不仅生成了index.js,还有index.html,我们在浏览器中打开它。

time.js成功生效咯 !

三、写在最后

我们完成了一个非常简单的webpack项目,你是否发现了这和vue项目的打包流程十分相似呢?

只是vue-cli的功能是十分强大的,例如可以解析vue文件,热更新等等……

所以这也验证了开始说的,vue-cli是对webpack的二次封装,封装了许多loader和plugin,并且配置好了入口,出口等配置信息,我们可以拿来就用。

【相关推荐:javascript视频教程web前端

Atas ialah kandungan terperinci Pengenalan asas kepada konfigurasi dan penggunaan webpack5 JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 am 09:39 AM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Dec 17, 2023 pm 05:13 PM

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Bagaimana untuk menggunakan insertBefore dalam javascript Bagaimana untuk menggunakan insertBefore dalam javascript Nov 24, 2023 am 11:56 AM

Penggunaan: Dalam JavaScript, kaedah insertBefore() digunakan untuk memasukkan nod baharu dalam pepohon DOM. Kaedah ini memerlukan dua parameter: nod baharu untuk dimasukkan dan nod rujukan (iaitu nod di mana nod baharu akan dimasukkan).

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Jan 05, 2024 pm 01:37 PM

Pengenalan kepada kaedah mendapatkan kod status HTTP dalam JavaScript: Dalam pembangunan bahagian hadapan, kita selalunya perlu berurusan dengan interaksi dengan antara muka bahagian belakang, dan kod status HTTP adalah bahagian yang sangat penting daripadanya. Memahami dan mendapatkan kod status HTTP membantu kami mengendalikan data yang dikembalikan oleh antara muka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan memberikan contoh kod khusus. 1. Apakah kod status HTTP bermakna kod status HTTP apabila penyemak imbas memulakan permintaan kepada pelayan, perkhidmatan tersebut

See all articles