本篇文章給大家分享的是關于webpack對html文件的處理 ,步驟都很詳細,有需要的朋友可以參考一下
為什么去處理html文件
我們所有的方法都打包到了dist的文件夾下面,而我們的html是在自己定義的文件夾下面,如果自己手動再去一個一個src引入這些dist文件夾下的js,那么也有些太不靠譜了
所以解決辦法是:
使用webpack插件:HtmlWebpackPlugin第一步:下載
npm install --save-dev extract-text-webpack-plugin
第二步:webpack.config.js配置
其中HtmlWebpackPlugin的配置項有:
Name類型Descriptiontitle{String}用于生成的HTML文檔的標題filename{String}要生成HTML的文件。可以指定目錄template{String}依據的模板文件inject{Boolean|String}將js資源注入到頁面哪個部位,值有:true / ‘head’ / ‘body’ / false,當傳遞true或’body’所有JavaScript資源將被放置在正文元素的底部。’head’將腳本放置在head元素中favicon{String}將給定的圖標路徑添加到輸出HTMLhash{Boolean}如果true將webpack所有包含的腳本和CSS文件附加一個獨特的編譯哈希。這對緩存清除非常有用chunks{?}放入你需要引入的資源模塊excludeChunks{?}不放入你某些資源模塊預期目標: 我的項目是一個多入口文件的項目,希望每一個入口頁面引入對應的js模塊和css
比如login頁面引入login的js和css、index引入對應js和css
webpack.config.js配置如下:
const path = require( path const webpack = require( webpack )const ExtractTextPlugin = require( extract-text-webpack-plugin const HtmlWebpackPlugin = require( html-webpack-plugin const configs = { entry:{ commom :[ ./src/page/common/index.js ], index :[ ./src/page/index/index.js ], login :[ ./src/page/login/index.js ] output:{ path:path.resolve(__dirname, dist ), filename: js/[name].js module:{ rules:[ test://.css$/, use:ExtractTextPlugin.extract({ fallback: style-loader , use: css-loader plugins:[ //獨立通用模塊 new webpack.optimize.CommonsChunkPlugin({ name : common , filename : js/base.js }), //獨立打包css new ExtractTextPlugin( css/[name].css ), //對html模板進行處理,生成對應的html,引入需要的資源模塊 new HtmlWebpackPlugin({ template: ./src/view/index.html ,//模板文件 filename: view/login/index.html ,//目標文件 chunks:[ commom , login ],//對應加載的資源 inject:true,//資源加入到底部 hash:true//加入版本號module.exports= configs然后打包結果如下 
其中生成的目標文件: 
為什么去處理html文件
我們所有的方法都打包到了dist的文件夾下面,而我們的html是在自己定義的文件夾下面,如果自己手動再去一個一個src引入這些dist文件夾下的js,那么也有些太不靠譜了
所以解決辦法是:
使用webpack插件:HtmlWebpackPlugin第一步:下載
npm install --save-dev extract-text-webpack-plugin
第二步:webpack.config.js配置
其中HtmlWebpackPlugin的配置項有:
Name類型Descriptiontitle{String}用于生成的HTML文檔的標題filename{String}要生成HTML的文件。可以指定目錄template{String}依據的模板文件inject{Boolean|String}將js資源注入到頁面哪個部位,值有:true / ‘head’ / ‘body’ / false,當傳遞true或’body’所有JavaScript資源將被放置在正文元素的底部。’head’將腳本放置在head元素中favicon{String}將給定的圖標路徑添加到輸出HTMLhash{Boolean}如果true將webpack所有包含的腳本和CSS文件附加一個獨特的編譯哈希。這對緩存清除非常有用chunks{?}放入你需要引入的資源模塊excludeChunks{?}不放入你某些資源模塊預期目標: 我的項目是一個多入口文件的項目,希望每一個入口頁面引入對應的js模塊和css
比如login頁面引入login的js和css、index引入對應js和css
webpack.config.js配置如下:
const path = require( path const webpack = require( webpack )const ExtractTextPlugin = require( extract-text-webpack-plugin const HtmlWebpackPlugin = require( html-webpack-plugin const configs = { entry:{ commom :[ ./src/page/common/index.js ], index :[ ./src/page/index/index.js ], login :[ ./src/page/login/index.js ] output:{ path:path.resolve(__dirname, dist ), filename: js/[name].js module:{ rules:[ test://.css$/, use:ExtractTextPlugin.extract({ fallback: style-loader , use: css-loader plugins:[ //獨立通用模塊 new webpack.optimize.CommonsChunkPlugin({ name : common , filename : js/base.js }), //獨立打包css new ExtractTextPlugin( css/[name].css ), //對html模板進行處理,生成對應的html,引入需要的資源模塊 new HtmlWebpackPlugin({ template: ./src/view/index.html ,//模板文件 filename: view/login/index.html ,//目標文件 chunks:[ commom , login ],//對應加載的資源 inject:true,//資源加入到底部 hash:true//加入版本號module.exports= configs然后打包結果如下 
其中生成的目標文件: 
相關推薦:
在webpack中使用ECharts詳解
Node.js、jade生成靜態html文件實例
webpack的插件詳解
以上就是webpack對html文件的處理的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答