webpack学习总结

一、webpack是什么?

    本质上,webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)

二、webpack能干什么?

    模块化的打包:让css,html,js变成一行,可以去掉注释,去掉多余引号等。

三、如何安装webpack

    //如果有cnpm直接可以用cnpm安装

    //这是是在百度搜索的,可以直接安装cnpm

安装cnpm方法

    1)全局安装

                    npm install webpack webpack-cli -g

全局安装成功代码

//接下来随便创建一个文件夹然后cd进入到这个文件夹,输入npm.init生成package.json

//package.json: 就是管理你本地安装的npm包,用于定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。

    2)生成package.json

                    npm.init(初始化)

进入到文件夹
输入npm init初始化 都按回车就可以 最后输入yes成功

    3)局部安装

                    npm install webpack webpack-cli -S

局部安装
安装好之后文件夹中会自动生成node_module依赖包

4)打包:webpack

                    默认entry:src/index.js

                    默认output:dist/main.js

//此时我们在文件夹里面新建一个src的文件夹,在src文件夹里面新建index.js文件(名字随便起就可以)

//打开index.js文件,可以随便在控制台打印一个,console.log(111).

index.js文件里面的内容
输入webpack会打包

//打包完成之后会在文件夹中看到默认的dist/main.js文件

打开main.js文件后可以看到压缩的代码

    5)压缩:  webpack --mode production

        未压缩:webpack --mode development

输入webpack --mode development看到未压缩的代码
可以看到main.js文件中代码的变化

四、webpack.config使用

    1)webpack本身是打包js文件的,但是如果我们想要打包css,html等等怎么办?这是必须要进行相关的配置(在webpack.config.js进行相关配置)

    2)配置(可以参照webpack官方文档https://www.webpackjs.com/

                1>webpack四个核心概念

                        入口(entry)

                        输出(output)

                        loader:

                                webpack只支持js,不支持css,图片等,如果让webpack支持需要使用loader

                        插件(plugins)

                                有效的打包或者压缩css,js,html,图片

                    2>配置文件

                        命名:webpack.config.js

步骤:如同前面的步骤一样,然后新建一个webpack.config.js文件来进行配置,然后可以自己新建一个出口文件夹,public文件夹,里面新建一个bundle.js

webpack.config.js的配置文件,可以参照官方文档

//在git bash里输入webpack打包,就可以在自己创建的bundle.js里卖弄看到压缩的

5、webpack配置webpack-dev-server

    1)webpack-dev-server是一个用来快速搭建本地运行环境的工具。命令简单webpack-dev-server或配置命令脚本快捷运行。

    2)安装webpack-dev-server

                    npm install webpack-dev-server -S

安装成功

    3)配置webpack.config.js:

                    devServer:{

                                contentBase:"",

                                inline

                                port  等等

                      }

                        打开package.json,在scripts中配置

在public里面新建一个index.html文件,引入bundle.js

在git bash里输入npm run dev

自动打开页面


可以看到src文件夹index.js里面打印的内容

五、loader加载程序

    1)loader的配置

                    1>引入css需要 style-loader、css-loader

                    2>下载:npm install style-loader css-loader -S

                    3>引入图片需要 file-loader

                    4>下载:npm install file-loader -S

                    5>webpack loader列表:https://blog.csdn.net/keliyxyz/article/details/51649429

步骤:1、下载npm install style-loader css-loader -S

安装完成

2、在src文件夹里面新建一个style.css文件,随便写入一个样式

随便写入一个样式

3、在index.js中引入.css文件

4、打开webpack.config.js文件

5、输入npm run dev自动打开网页,就会看到body背景颜色变为蓝色

背景颜色变为蓝色效果

//图片的操作是一样的

六、插件

    1、html-webpack-plugin

                    1)插件的基本作用就是生成html文件。

    2、使用webpack.config.js

                    1)安装(下载)

                    install html-webpack-plugin -S

                    2)配置(webpack.config.js)

                    1> const HtmlWebpackPlugin = require("html-webpack-plugin");

                    2>plugins:[

                        new HtmlWebpackPlugin({

                        template:"./src/index.html",

                        minify:{

                                      removeAttributeQuotes:true,//去除引号

                                      removeComments:true,//去除注释

                                      removeEmptyAttributes:true,//去除空属性

                                      collapseWhitespace:true//去除空格

                                    }

    })

步骤:1、在src文件夹里面新建index.html文件。

随便添加一个结构

2、安装cnpm install html-webpack-plugin -S

安装

3、打开webpack-config.js配置


配置文件

4、执行webpack,就会看到public里面多出了index.html文件

六、Babel   

    1、介绍:Babel是一个JavaScript编译器,可以把ES6的语法转为兼容浏览器的ES5语法

    2、安装(下载):npm install babel-core babel-loader babel-preset-env babel-preset-react -S

    3、配置

第一种方式:放到rules里面

                    webpack.config.js

                    {

                        test:/(\.jsx|\.js)$/,

              use:{

                          loader:"babel-loader",

              options:{

                          presets:["env",'react']

                    }

                },

                            exclude:/node_modules/

                }

                    第二种方式:

                    新增.babelrc文件

                    {

                            "presets":['env','react']

                    }

步骤:1、安装npm install babel-core babel-loader babel-preset-env babel-preset-react -S

          2、打开index.js文件,进行ES6的编辑.

let是ES6的变量声明

            3、在打开public里面的.js文件,就会发现let变成了var,表示成功。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341