国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[js高手之路]深入淺出webpack教程系列6-插件使用之html-webpack-plugin配

jokester / 1480人閱讀

摘要:上文我們對的實例進行了遍歷分析,講解了幾個常用屬性以及自定義屬性的添加,本文,我們繼續深入他的配置選項的探討一選項這個屬性非常有用,可以指定某個頁面加載哪些如文件我們可以用他做多個頁面模板的生成比如,我們在實際開發中,做一個博客網站,一

上文我們對html-webpack-plugin的實例htmlWebpackPlugin進行了遍歷分析,講解了幾個常用屬性( inject, minify )以及自定義屬性的添加,本文,我們繼續深入他的配置選項的探討.

一、chunks選項

這個屬性非常有用,可以指定某個頁面加載哪些chunk( 如:js文件 )

我們可以用他做多個頁面模板的生成. 比如,我們在實際開發中,做一個博客網站,一般來說有首頁,文章列表頁,文章詳情頁等等,這些頁面都有一個特點,都要引入一些公共的js文件以及該頁面特有的js文件,比如:

首頁( index.html ) 引入 main.js, index.js

文章列表頁( list.html ) 引入 main.js, list.js

文章詳情頁( detail.html ) 引入 main.js, detail.js

傳統方式,一個個的打開文件,拷貝修改,如果后期維護,又是一堆文件中,查找,拷貝,修改。很容易出錯,而且效率低下,我們看下webpack是如何提高效率,開啟前端工業化開發革命道路

webpack.dev.config.js文件代碼:

var HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
    entry : {
        main : "./src/js/main.js",
        index : "./src/js/index.js",
        list : "./src/js/list.js",
        detail : "./src/js/detail.js"
    },
    output : {
        //__dirname,就是當前webpack.config.js文件所在的絕對路徑
        path : __dirname + "/dist", //輸出路徑,要用絕對路徑
        filename : "js/[name]-[hash].bundle.js", //打包之后輸出的文件名
    },
    plugins: [
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "博客首頁-by ghostwu",
            filename : "index.html",
            inject : true,
            chunks : ["main", "index"]
        }),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "列表頁-by ghostwu",
            filename : "list.html",
            inject : true,
            chunks : ["main", "list"]
        }),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "文章詳情頁-by ghostwu",
            filename : "detail.html",
            inject : true,
            chunks : ["main", "detail"]
        })
    ]
};

然后在src的js目錄下面,創建main.js, index.js,list.js,detail.js文件,執行打包( npm run d )就會在dist下面生成3個文件,各自引入到各自的js文件,下次要維護的時候,只要修改這個配置文件,再次打包就可以了,是不是很方便

二、excludeChunks選項

這個很好理解,就是有很多chunks,排除不要加載的

webpack.dev.config.js文件代碼:

var HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
    entry : {
        main : "./src/js/main.js",
        index : "./src/js/index.js",
        list : "./src/js/list.js",
        detail : "./src/js/detail.js"
    },
    output : {
        //__dirname,就是當前webpack.config.js文件所在的絕對路徑
        path : __dirname + "/dist", //輸出路徑,要用絕對路徑
        filename : "js/[name]-[hash].bundle.js", //打包之后輸出的文件名
    },
    plugins: [
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "博客首頁-by ghostwu",
            filename : "index.html",
            inject : true,
            excludeChunks : ["list","detail"]
        }),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "列表頁-by ghostwu",
            filename : "list.html",
            inject : true,
            excludeChunks : ["index","detail"]
        }),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "文章詳情頁-by ghostwu",
            filename : "detail.html",
            inject : true,
            excludeChunks : ["list","index"]
        })
    ]
};

把配置文件修改之后,再用npm run d執行一次打包,跟使用chunks的效果是一樣的

三,把頁面src引入文件的方式,改成用script標簽嵌入的方式,減少http請求( 提高加載性能)

要達到這個目的,我們再安裝一個插件html-webpack-inline-source-plugin

安裝:npm install --save-dev html-webpack-inline-source-plugin

webpack.dev.config.js文件代碼:

var HtmlWebpackPlugin = require("html-webpack-plugin");
var HtmlWebpackInlineSourcePlugin = require("html-webpack-inline-source-plugin");
module.exports = {
    entry : {
        main : "./src/js/main.js",
        index : "./src/js/index.js",
        list : "./src/js/list.js",
        detail : "./src/js/detail.js"
    },
    output : {
        //__dirname,就是當前webpack.config.js文件所在的絕對路徑
        path : __dirname + "/dist", //輸出路徑,要用絕對路徑
        filename : "js/[name]-[hash].bundle.js", //打包之后輸出的文件名
    },
    plugins: [
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "博客首頁-by ghostwu",
            filename : "index.html",
            inject : true,
            excludeChunks : ["list","detail"],
            inlineSource : ".(js|css)$" //全部內嵌
        }),
        new HtmlWebpackInlineSourcePlugin(),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "列表頁-by ghostwu",
            filename : "list.html",
            inject : true,
            excludeChunks : ["index","detail"]
        }),
        new HtmlWebpackPlugin({
            template : "./index.html",
            title : "文章詳情頁-by ghostwu",
            filename : "detail.html",
            inject : true,
            excludeChunks : ["list","index"]
        })
    ]
};

執行npm run d打包命令之后,就會把dist/index.html文件的js和css改成內嵌方式

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91933.html

相關文章

  • [js高手]深入淺出webpack教程系列5-插件使用html-webpack-plugin

    摘要:上文我們講到了的配置和獲取數據的方式,本文,我們繼續深入的配置一插件中的除了自己定義了一些基本配置外,我們是可以任意的添加自定義的數據文件,就是當前文件所在的絕對路徑輸出路徑,要用絕對路徑打包之后輸出的文件名教你學我們在中新增了個 上文我們講到了options的配置和獲取數據的方式,本文,我們繼續深入options的配置 一、html-webpack-plugin插件中的options...

    lentoo 評論0 收藏0
  • [js高手]深入淺出webpack教程系列4-插件使用html-webpack-plugin

    摘要:還記得我們上文中的文件嗎那里面的標簽還是寫死的文件,那么怎么把他們變成動態的文件,這個動態生成的文件會動態引入我們打包后生成的文件呢,我們可以使用插件,首先安裝這個插件,好的,接下來就開始用這個插件了官方參考文檔插件通用用法 還記得我們上文中的index.html文件嗎? 那里面的script標簽還是寫死的index.bundle.js文件,那么怎么把他們變成動態的index.html...

    qpal 評論0 收藏0
  • [js高手]深入淺出webpack教程系列1-安裝與基本打包用法和命令參數

    摘要:,我想大家應該都知道或者聽過,是前端一個工具可以讓各個模塊進行加載預處理再進行打包。 webpack,我想大家應該都知道或者聽過,Webpack是前端一個工具,可以讓各個模塊進行加載,預處理,再進行打包。現代的前端開發很多環境都依賴webpack構建,比如vue官方就推薦使用webpack.廢話不多說,我們趕緊開始吧. 第一步、安裝webpack 新建文件夾webpack->再在web...

    pubdreamcc 評論0 收藏0
  • [js高手]深入淺出webpack教程系列2-置文件webpack.config.js詳解(上

    摘要:接著上文,重新在文件夾下面新建一個項目文件夾,然后用初始化項目的配置文件,然后安裝,然后創建基本的項目文件夾結構,好了,我們的又一個基本項目結構就搭建好了第一開始通過文件配置我們的項目首先在項目文件夾下面,新建一個文件,這個文件可 接著上文,重新在webpack文件夾下面新建一個項目文件夾demo2,然后用npm init --yes初始化項目的package.json配置文件,然后安...

    moven_j 評論0 收藏0
  • [js高手]深入淺出webpack教程系列3-置文件webpack.config.js詳解(下

    摘要:本文繼續接著上文,繼續寫下的其他配置用法一把兩個文件打包成一個,怎么配置在上文中的中,用數組配置文件代碼,就是當前文件所在的絕對路徑輸出路徑,要用絕對路徑打包之后輸出的文件名然后在目錄下面新建一個文件,代碼如下之前的文件的代碼告訴你怎么學習 本文繼續接著上文,繼續寫下webpack.config.js的其他配置用法. 一、把兩個文件打包成一個,entry怎么配置? 在上文中的webpa...

    xiangchaobin 評論0 收藏0

發表評論

0條評論

jokester

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<