免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
webpack教程五:插件

目錄


一、插件介紹

    首先,插件Plugins)的目的在于解決loader無法實(shí)現(xiàn)的其他事。

    webpack提供了許多的插件以支持打包時(shí)進(jìn)行更多的操作。另外,除了webpack提供的原生插件,許多第三方插件也使我們的打包更加便捷。

    現(xiàn)在我們來看兩個(gè)實(shí)際打包過程中會(huì)經(jīng)常用到的插件:HtmlWebpackPluginCleanWebpackPlugin

二、HtmlWebpackPlugin

    HtmlWebpackPlugin提供哪些功能呢?概括來說就是它簡(jiǎn)化了HTML文件的創(chuàng)建。

    我們先安裝HtmlWebpackPlugin:

    webpack-demo/dist/dist.html文件現(xiàn)在是這樣的:

    dist.html

    現(xiàn)在將這個(gè)文件刪除??!

    同時(shí)修改webpack.config.js:

    webpack.config.js:

  1. const path = require('path');
  2. const HtmlWebpackPlugin = require('html-webpack-plugin'); // 導(dǎo)入HtmlWebpackPlugin
  3. module.exports = {
  4. mode: 'development',
  5. entry: {
  6. main: './src/index.js'
  7. },
  8. output: {
  9. filename: 'bundle.js',
  10. path: path.resolve(__dirname, 'dist')
  11. },
  12. module: {
  13. rules: [
  14. {
  15. test: /\.(png|svg|jpg|gif$)/, // 文件后綴名匹配通配符
  16. use: [{
  17. loader: 'url-loader', // 使用的loader
  18. options: {
  19. limit: 10240 // 當(dāng)圖片小于10kb時(shí),使用base64的方式進(jìn)行打包
  20. }
  21. }]
  22. },
  23. {
  24. test: /\.scss$/,
  25. use: [
  26. 'style-loader',
  27. {
  28. loader: 'css-loader',
  29. options: {
  30. importLoaders: 2
  31. }
  32. },
  33. 'sass-loader',
  34. 'postcss-loader'
  35. ]
  36. },
  37. {
  38. test: /\.(woff|woff2|eot|ttf)$/,
  39. use: [
  40. 'file-loader'
  41. ]
  42. }
  43. ]
  44. },
  45. plugins: [
  46. new HtmlWebpackPlugin()
  47. ]
  48. }

    注意:上面除了加入HtmlWebpackPlugin還將出口文件名設(shè)置為了bundle.js。

    現(xiàn)在進(jìn)行打包操作:

    確實(shí)打包出了bundle.js文件,現(xiàn)在再查看dist文件夾:

    可以發(fā)現(xiàn)多出來一個(gè)index.html文件,打開看看:

    index.html:

    index.html文件中自動(dòng)引入了打包的文件bundle.js,原來HtmlWebpackPlugin插件就是幫我們構(gòu)建一個(gè)html文件,且能自動(dòng)引入打包文件!

    可是我們?cè)鹊膁ist.html還有一個(gè)div元素,難道要我們自動(dòng)在index.html中添加嗎?

    并不用,HtmlWebpackPlugin可以幫我們來做這件事情。

    首先,在src文件夾中創(chuàng)建一個(gè)template.html:

    template.html:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div id="webContent"></div>
  11. </body>
  12. </html>

    修改webpack.config.js文件:

    webpack.config.js:

  1. const path = require('path');
  2. const HtmlWebpackPlugin = require('html-webpack-plugin'); // 導(dǎo)入HtmlWebpackPlugin
  3. module.exports = {
  4. mode: 'development',
  5. entry: {
  6. main: './src/index.js'
  7. },
  8. output: {
  9. filename: 'bundle.js',
  10. path: path.resolve(__dirname, 'dist')
  11. },
  12. module: {
  13. rules: [
  14. {
  15. test: /\.(png|svg|jpg|gif$)/, // 文件后綴名匹配通配符
  16. use: [{
  17. loader: 'url-loader', // 使用的loader
  18. options: {
  19. limit: 10240 // 當(dāng)圖片小于10kb時(shí),使用base64的方式進(jìn)行打包
  20. }
  21. }]
  22. },
  23. {
  24. test: /\.scss$/,
  25. use: [
  26. 'style-loader',
  27. {
  28. loader: 'css-loader',
  29. options: {
  30. importLoaders: 2
  31. }
  32. },
  33. 'sass-loader',
  34. 'postcss-loader'
  35. ]
  36. },
  37. {
  38. test: /\.(woff|woff2|eot|ttf)$/,
  39. use: [
  40. 'file-loader'
  41. ]
  42. }
  43. ]
  44. },
  45. plugins: [
  46. new HtmlWebpackPlugin({
  47. filename: 'dist.html', // 將自動(dòng)生成的html文件的文件名改為dist.html
  48. template: './src/template.html' // 模板
  49. })
  50. ]
  51. }

    現(xiàn)在進(jìn)行打包操作:

    打開dist.html:

    可以發(fā)現(xiàn),在HtmlWebpackPlugin自動(dòng)生成的dist.html文件中果然增加了div元素,它實(shí)際上是以src文件夾中的template.html為模板來生成的。

    用瀏覽器打開dist.html

    效果和之前一樣!

三、CleanWebpackPlugin

    經(jīng)過前面的操作,dist文件夾中有多余的文件:

    我們可以使用CleanWebpackPlugin來自動(dòng)幫我們清理dist文件夾中多余的文件。

    首先,安裝CleanWebpackPlugin:

    然后修改webpack.config.js:

    webpack.config.js:

  1. const path = require('path');
  2. const HtmlWebpackPlugin = require('html-webpack-plugin'); // 導(dǎo)入HtmlWebpackPlugin
  3. const CleanWebpackPlugin = require('clean-webpack-plugin'); // 導(dǎo)入CleanWebpackPlugin
  4. module.exports = {
  5. mode: 'development',
  6. entry: {
  7. main: './src/index.js'
  8. },
  9. output: {
  10. filename: 'bundle.js',
  11. path: path.resolve(__dirname, 'dist')
  12. },
  13. module: {
  14. rules: [
  15. {
  16. test: /\.(png|svg|jpg|gif$)/, // 文件后綴名匹配通配符
  17. use: [{
  18. loader: 'url-loader', // 使用的loader
  19. options: {
  20. limit: 10240 // 當(dāng)圖片小于10kb時(shí),使用base64的方式進(jìn)行打包
  21. }
  22. }]
  23. },
  24. {
  25. test: /\.scss$/,
  26. use: [
  27. 'style-loader',
  28. {
  29. loader: 'css-loader',
  30. options: {
  31. importLoaders: 2
  32. }
  33. },
  34. 'sass-loader',
  35. 'postcss-loader'
  36. ]
  37. },
  38. {
  39. test: /\.(woff|woff2|eot|ttf)$/,
  40. use: [
  41. 'file-loader'
  42. ]
  43. }
  44. ]
  45. },
  46. plugins: [
  47. new HtmlWebpackPlugin({
  48. filename: 'dist.html', // 將自動(dòng)生成的html文件的文件名改為dist.html
  49. template: './src/template.html' // 模板
  50. }),
  51. new CleanWebpackPlugin()
  52. ]
  53. };

    進(jìn)行打包操作,然后再查看dist文件夾:

    多余的文件被清理了!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
帶你由淺入深了解webpack4中的各種常用配置(一)
webpack.config.js和package.json
webpack2利用插件clean
web前端教程:新手應(yīng)該怎么學(xué)習(xí)webpack
webpack 插件: html
模塊化和webpack
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服