一。entry

指定webpack从哪个文件开始入手打包,下面是单入口

多页面开发,每个页面都有自己的js文件,多个文件,所以需要多个入口

我们看看多入口,单出口bundle.js,我们在src仅仅多加了一个 search.js

我们run一下(打包)

多出口写法:

二。loader

了解在哪配置,如何配置loader,webpack本身只能处理js模块(文件)

loader并不是只能只能帮助webpack处理非js文件

为什么包不集成到一起,或者功能不集成到一起,比如为什么不把loader和webpack集成到一起,以及babel为什么那么麻烦一会安装一个一会安装一个包,因为有时候我们仅想使用某些功能,不需要全部,有些浪费资源,电脑奔溃了,分成不同的loader,想用什么功能就加载什么功能

接下来在webpack中使用babel编译代码 ,把babel和webpack连通的东西就是babel-loader,有了babel-loader ,才能webpack中使用babel编译代码 ;webpack使用babel-loader借助babel的力量,先把js编译再打包,我们这时候只需要babel/core和babel/preset-env,不需要babel/cli,因为直接在webpack中用,不是直接在命令行中;

使用babel loader

我们继续把webpack初体验的相关文件(圈中)拿过来

这是src下面的index.js文件

①安装webpack的两个包

②安装babel包

先复习一下在cli中babel的使用:

在项目文件夹目录下打开命令行--如果没有package.json文件就要先初始化---根据babel官网指导安装core和cli包---在 package.json 文件中添加执行 babel 的命令

  "scripts": {
    "build": "babel src -d dist"
  },
src自己创建好,里面放js文件---缺少babel配置文件---安装preset-env包(这个包的作用就是告诉babel具体该怎么转换ES6的语法)---创建.babelrc文件添加{ "presets": ["@babel/preset-env"] }这句代码---执行npm run build即完成了babel的编译(自动创建dist文件夹,里面有个babel.js就是src里面babel.js的编译版)
复习一下webpack的使用:初始化--安装webpack包和webpack/cli包---创建webpack.config.js(默认名) 这个文件--配置
---自己创建好src目录下的index.js等文件--在package.json中添加执行webpack的命令
---npm run webpack---会默认创建一个dist文件夹,然后里面有一个bundle.js,这就是打包后的,代码是经过压缩混淆的;
 
在webpack中使用babel的步骤
 
配置babel
接下来配置loader,凡是和webpack相关的配置都要在webpack的配置文件中配置,loader也在webpack的配置文件中配置
test后面跟正则,表面想要在哪些文件上使用babel loader
这时如果运行npm run webpack,则会去匹配项目目录下的所有js文件
运行npm run webpack
babel编译好后再交给webpack去打包,步骤和webpack初体验一样;
 
但是对于 ES6 新增的 API,比如 Set、Map、Promise 等全局对象,以及一些定义在全局对象上的方法(比如 Object.assign/Array.from)都还是不能直接编译,此时我们还是需要引入其他的模块;
 
下面就是我们要引的模块:这个模块帮我们实现ES6新增对象,api等,让浏览器兼容
通过import导进来
把dist删了再次编译打包(run),打包最终的文件,ES6语法 ,新增api,promise,Array.from,Object.assign都被转换成ES5,浏览器也都能兼容了
 
三。plugins
 
如何在webpack中配置插件
我们把webpack包安装一遍
接着安装plugin包
在webpack配置文件中配置,在配置文件中将这个包引入
HtmlWebpackPlugin是类或者说是构造函数
执行npm run webpack
 
 
 
 
 
 
 
 
 
 

webpack的核心概念的更多相关文章

  1. Webpack 一些核心概念了解

    Webpack的几个核心概念 Entry:入口,Webpack执行构建的第一步将从Entry开始,可抽象成输入. Module:模块,在Webpack里一切皆模块,一个模块对应一个文件.Webpack ...

  2. webpack的四个核心概念介绍

    前言 webpack 是一个当下最流行的前端资源的模块打包器.当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后 ...

  3. webpack核心概念

    一.webpack四个核心概念 1.入口[Entry] webpack将创建所有应用程序 依赖关系图表.图表的起点被称之为 入口起点.入口起点告诉webpack从哪里开始,并遵循着依赖关系图表知道打包 ...

  4. 通过核心概念了解webpack工作机制

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gr ...

  5. webpack安装与核心概念

    安装webpack webpack核心概念:入口.输出.加载器.插件.模块.模式 一.安装webpack 1.安装webpack之前需要安装nodejs环境,在使用nodejs环境自带的包管理工具np ...

  6. webpack学习2.3webpack核心概念

    核心概念(四个) Entry(入口) Output(出口) Loaders()来处理其他类型的资源文件 Plugins(插件) 1.入口(Entry) 作用:代码的入口,打包的入口,单个或多个, 示例 ...

  7. webpack 四个核心概念

    webpack 是当下最热门的前端资源模块化和打包工具.它可以将许多松散的模块(如 CommonJs 模块. AMD 模块. ES6 模块.CSS.图片. JSON.Coffeescript. LES ...

  8. webpack(2)webpack核心概念

    前言   本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具.当 webpack 处理应用程序时,它会在内部构建一个 依赖图(dependency graph) ...

  9. 玩转webpack(二):webpack的核心对象

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者介绍:陈柏信,腾讯前端开发,目前主要负责手Q游戏中心业务开发,以及项目相关的技术升级.架构优化等工作. 前言 webpack 是一个强大的模 ...

  10. fusionjs 学习二 核心概念

    核心概念 middleware 类似express 的中间件模型(实际上是构建在koa中间件模型上的),但是和koa 的中间件有差异 fusionjs 的中间件同时可以运行在浏览器页面加载的时候 se ...

随机推荐

  1. JZOJ 4308.长寿花

    题面 思路 这种题当然要 \(dp\) 啦 设 \(g_{i,j}\) 表示前 \(i\) 个位置用指定的 \(j\) 种颜色装饰(即用颜色 \(1..j\) 来装饰) 那么 \(g_{i,j}=g_ ...

  2. Linux 用户组管理

    用户组 群组是大家都熟悉的东西,群组有群主,也就是创建者.群管理员有一定的管理权限,比如上传群文件.管理成员等权限:群成员也有一定的权限,比如下载群文件. 私有组 一般来说,每一个用户都有自己的一个初 ...

  3. JSP 与 Servlet 之间的联系,及其语法

    JSP 是什么 JSP 将 Java 代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容.JSP 文件在运行时会被其编译器转换成更原始的 Servlet 代码.JSP ...

  4. (原创)【B4A】一步一步入门05:控件、公有属性、水平锚定、垂直锚定(控件篇01)

    一.前言 前面的教程,已经完整讲述了用B4A开发安卓APP从新建项目到编译发布的完整流程.从本篇开始,我们将会从B4A的细节处着手,一步一步掌握B4A. 从本篇开始的子系列为"控件篇&quo ...

  5. Postgresql之闪回数据库示例

    一.摘要 在Oracle中,若发生重大的误操作,那么我们可以使用flashback database命令来把数据库整体闪回到过去的误操作的时间点,当然前提是需要打开数据库的闪回功能. 在PG中,能否也 ...

  6. Postgresql通过pg_waldump来分析pg_wal日志

    一.简介 读取MySQL的binlog 并将其解析为可读的日志是一件简单的事情,mysqlbinlog 命令就可以将bin日志解析, 那postgresql是否可以将pg_wal 中的日志进行解析,并 ...

  7. java学习日记20230301-API文档

    JAVA API java application programming interinterface  应用程序编程接口,是java提供的基本编程接口 在线文档:https://www.matoo ...

  8. cisco恢复IOS文件的方法

    cisco IOS恢复的方法很多,这里使用TFTP方法恢复. 当你delete flash: 后 路由器重启将不能工作,这时要恢复IOS 把你备份好的IOS文件放到TFTP目录里面. > IP_ ...

  9. git账号密码修改

    1.window10下的账号密码,打开控制台->账号管理->凭据管理器

  10. web上传插件Uploadify

    Uploadify简单说来,是基于Jquery的一款文件上传插件.它的功能特色总结如下: 支持单文件或多文件上传,可控制并发上传的文件数 在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Ja ...