webpack学习笔记

## webpack安装
- yarn init -y
- yarn add webpack webpack-cli -D

## webpack 可以0配置
- 打包工具 -> 输出后的结果(js模块)
- 支持JS模块化
- package.json -> scripts -> ”build": "webpack"

## webpack 配置文件
- mode: development/production
- entry: 打包前的入口JS文件夹
- output: 打包后的文件夹及相应路径
- devServer: [contentBase]:对应目录 [port]:虚拟站点接口 [progress]:显示进度条 [open]:自动打开页面 [compress]自动压缩
- plugins(数组): 放置所有插件
- module: 模块

### 自己架设虚拟服务器
- 命令: yarn add webpack-dev-server -D
- 启动: npx webpack-dev-server
- package.json -> scripts -> "start": "webpack-dev-server"

### 打包HTML
- 命令: yarn add html-webpack-plugin -D
- template: 模板文件位置
- filename: 输出文件名称
- minify: 压缩配置 [removeAttributeQuotes]:移除双引号 [collapseWhitespace]:移除空格
- hash: 文件名+hash

### 打包css
- 命令: yarn add less-loader css-loader style-loader -D
-
 
let path = require('path');
let HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    devServer: {
        contentBase: './dist',
        port: 3000,
        progress: true,
        open: true,
        compress: true
    },
    mode: 'development',                                //模式 development/production
    entry: './src/index.js',                            //入口
    output: {
        filename: 'bundle.[hash].js',                   //打包文件 +hash
        path: path.resolve(__dirname, 'dist')           //打包路径(必须是绝对路径)
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.html',
            filename: 'index.html',
            minify: {
                removeAttributeQuotes: true,            //移除双引号
                collapseWhitespace: true                //移除空格
            },
            hash: true                                  //文件+hash
        })
    ],
    module: {
        rules: [{
            test: /\.less$/,
            use: [{
                loader: "style-loader",
                options: {
                    insertAt: 'top'
                }
            }, {
                loader: "css-loader"                    // translates CSS into CommonJS
            }, {
                loader: "less-loader"                   // compiles Less to CSS
            }]
        }]
    }
}

 

posted @ 2019-12-18 23:44  咖啡漩涡  阅读(125)  评论(0编辑  收藏  举报