一。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. imax6开发版_交叉编译

    下载 arm-linux-gnueabihf-gcc编译器 sudo apt install gcc-arm-linux-gnueabihf #安装完成后使用如下命令查看版本 arm-linux-gn ...

  2. 安卓逆向 ARM基础篇 二

    1.寄存器寻址的八中方法 1.立即寻址 二 寄存器寻址 三 寄存器移位寻址 过程 R2 移位 传给R0 四 寄存器间接寻址 五 基址寻址 六 多寄存器寻址 七 堆栈寻址 七 堆栈寻址

  3. 教你用手机的NFC功能模拟门禁卡,实现出门不带卡

    此教程教您将门禁卡.考勤卡.会员卡.停车卡.电梯卡等等各种卡片模拟进NFC手机里,从而用手机代替门禁卡 一.软硬件准备 NFC Tool 手机上的IC卡读写编辑软件,搭配蓝牙读卡器或者OTG读卡器,可 ...

  4. ps抠图小技巧

    1.背景橡皮擦工具 适合分离单一背景. 中括号键可以调整大小. 2.调整边缘抠图(也叫选择并遮住) 适合扣毛发丝. 套索工具框选出大概: 点击选择并遮住后出来一个面板: 视图选择叠加,输出设置勾上净化 ...

  5. 比较多普勒超声与临床缓解标准对RA放射学进展的预测效能

    比较多普勒超声与临床缓解标准对RA放射学进展的预测效能 de Miguel, et al. EULAR 2015. Present ID: FRI0586. 原文 译文 FRI0586 DOPPLER ...

  6. Ubuntu中用普通方法无法添加自启动

    参考了https://www.cnblogs.com/a5idc/p/13752839.html 如何知道你使用的是哪个init系统?你可以使用这个命令来知道与PID 1(系统上运行的第一个进程)相关 ...

  7. RESTful风格与Spring注解

    RESTfulL是一种网络应用程序的设计风格和开发方式,即接口请求方式和路径的一种风格. 普通风格: localhost:8080/add?a=1&b=2 RestFul风格: localho ...

  8. 爬小说_BeautifulSoup解析_easy

    title: 爬小说_BeautifulSoup解析_easy author: 杨晓东 permalink: 爬小说_BeautifulSoup解析_easy date: 2021-10-02 11: ...

  9. 重写父类的ToString

    我们任何对象调用ToString的时候,打出来的都是这个类的命名空间的名字 using System; using System.Collections.Generic; using System.L ...

  10. Echarts 圆形立体柱状图

    先放个效果图 const resData = [ { label: "上海", value: 66 }, { label: "北京", value: 26 }, ...