webpack

1.下载

cnpm install html-webpack-plugin -S

2.引入

var HtmlWebpackPlugin = require('html-webpack-plugin')

3.配置

plugins:[

new HtmlWebpackPlugin({})

]

4.参数说明

{
    //指定模板页面
    template:'./src/index.html',
    // 修改默认输出文件名
    filename:'xx.html'
    // 允许注入
    chunks:['xx'],
    // 不允许注入
    excludeChunks:[''],

}

5.多个

需要创建多个new HtmlWebpackPlugin

plugins:[
    new HtmlWebpackPlugin({
        template:'./src/index1.html',
    })
    new HtmlWebpackPlugin({
        template:'./src/index2.html',
    })
    new HtmlWebpackPlugin({。。})
    new HtmlWebpackPlugin({。。})
    ...
]

6.HTML中加入图片

a.加载图片的loader =>file-loader

npm install file-loader -S

b.html支持 图片的loader => html-withimg-loader

npm install html-withimg-loader -S

module:{
    rules:[{
        test:/\.(png|jpg|jpeg|gif)$/,
        use:[{
            loader:'file-loader',
            options:{
                esModule:false,
                outputPath:'img/'
            }
        }]
    },{
        test:/\.html$/,
        use:'html-withimg-loader'
    }]
}

HTML加入字体图标

{
    test:/\.(eot|svg|ttf|woff|woff2)$/,
    use:'file-loader?name=./fonts/[name].[ext]'
}

7.压缩打包css文件

1.单独抽离css文件

a.下载插件:mini-css-extract-plugin

cnpm install mini-css-extract-plugin -S

b.引入插件

var MiniCssExtractPlugin = require('mini-css-extract-plugin')

c.修改loader

{
    test:/\.css$/,
    use:[MiniCssExtractPlugin.loader,'css.loader']
}

d.使用插件

plugins:[
    // 分离css
   new MiniCssExtractPlugin({
    filename:'./css/[name].css'
   });
]

2.压缩css文件

插件:optimize-css-assets-webpack-plugin

a.引入插件

var OptimizecssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')

b.使用插件

plugins:[
    // 压缩css
    new OptimizecssAssetsWebpackPlugin()
]

项目打包

8.jquery报错问题

cnpm install jquery -S

var webpack = require('webpack')

plugins:[
    new webpack.ProvidePlugin({
        $:'jquery',
        jQuery:'jquery',
        'window.jQuery':'jquery'
    })
]

你可能感兴趣的:(工程化,webpack)