033_webpack打包ES6模块化工程

2023-11-01

1. 新建项目

1.1. 新建一个ES6Model文件夹

1.2. 打开VSCode 

1.3. 使用VSCode打开文件夹 

1.4. 选择要打开的文件夹 

1.5. 资源管理器中显示打开的文件夹 

1.6. 在终端中运行: npm init -y命令, 初始化包管理器文件package.json 

1.7. 在ES6Model下新建一个src目录, 在src目录下新建一个index.html 

1.8. 在终端中运行: npm install jquery -S命令, 安装JQuery。 

1.9. 在src目录下新建一个index.js, 适用JQuery实现列表隔行变色 

2. 安装和配置webpack

2.1. 在终端中运行: npm install webpack webpack-cli -D命令, 安装webpack相关包

 

2.2. 在项目根目录中, 创建webpack.config.js的webpack配置文件。在webpack文件中, 初始化如下配置: 

2.3. 在package.json文件的scripts节点下, 新增dev: webpack脚本。scripts节点下的脚本, 可以通过npm run执行。 

2.4. 在终端中运行: npm run dev命令, 启动webpack进行项目打包。 

2.5. 打包完成后, 在项目根目录下生成了一个dist目录, 该目录下生成了main.js 

2.6. 在index.html中导入main.js 

2.7. 打开index.html, 查看效果图 

3. webpack打包的入口与出口

3.1. webpack的4.x版本中, 打包的入口与出口默认约定:

3.1.1. 打包的入口文件为src——>index.js

3.1.2. 打包的出口文件为dist——>main.js

3.2. 如果要修改打包的入口与出口, 可以在webpack.config.js中新增如下配置信息:

4. 配置webpack的自动打包功能

4.1. 在终端中运行: npm install webpack-dev-server -D命令, 安装支持自动打包的工具

 

4.2. 修改packgae.json的scripts中的dev为webpack-dev-server 

4.3. 修改webpack.config.js, 配置devServer的静态目录为项目根目录 

4.4. 导入的js文件, 不再有./dist目录 

4.5. 重新进行打包, 可以看到终端并没有结束, 如果我们修改代码, 它会自动重新打包 

4.6. 访问http://localhost:8080/ 

4.7. 访问http://localhost:8080/src/ 

5. 配置html-webpack-plugin生成预览页面

5.1. 在终端中运行: npm install html-webpack-plugin -D命令, 安装生成预览页面的插件

 

5.2. 修改webpack.config.js, 配置生成预览页面插件 

5.3. 访问http://localhost:8080 

6. 配置打包完成后自动打开页面

6.1. --open打包完成后自动打开浏览器页面

6.2. --host配置IP地址

6.3. --port配置端口

6.4. 重新打包后, 自动浏览器打开页面

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

033_webpack打包ES6模块化工程 的相关文章

  • 使用 Javascript/Web Audio API 访问/处理系统音频

    是否可以使用 Web Audio API 访问系统音频 以便对其进行可视化或应用均衡器 看起来可以将系统音频连接到 Web Audio API 可以访问的输入设备 即Web Audio API 获取声卡的输出 https stackover
  • 命名和配置jsfiddle

    对于任何知道答案的人来说 这听起来都是一个非常愚蠢的问题 当我创建 JSfiddle 时 它 会出现在我的列表页面上 如下所示 cGzCe Revision 8 然后我将其命名为 多创建节点 由于添加了修订号 因此该短语中没有空格 所以有额
  • 验证以防止角度形式出现重复的形式值

    我有几个表单数组 我需要进行验证 以便每个表单行中的特定字段在所有表单数组中必须是唯一的 如果任何值出现多次 则两个表单字段都必须标记为红色 我设法编写了一个函数 以便如果这些字段有任何更改 该函数将返回 true false 但我不确定如
  • 解析:Promise.when 有很多 Promise?

    解析文档 https www parse com docs js symbols Parse Promise html when https www parse com docs js symbols Parse Promise html
  • Bootstrap 按钮的检查状态

    我想在 Bootstrap 3 0 2 中设置组复选框的选中状态 docs http getbootstrap com javascript buttons html div class btn group div
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • 如何在 mongodb-native findAndModify 中使用变量作为字段名称?

    在使用 mongodb native 驱动程序的这段代码中 我想增加在单独变量中指定的字段的值 问题在于 在这种情况下 inc 子句中的字段名称将是 变量 而不是变量的内容 在查询部分中 所选变量按预期工作并找到正确的 ID var sel
  • 使用express记录所有GraphQL响应

    我成功地设置了记录 graphQL 错误 app use graphql graphqlHTTP request gt return schema rootValue request formatError error gt const p
  • YouTube 播放器 API:getDuration()、getCurrentTime()、getVideoData() 不起作用

    对于我的应用程序 我尝试使用 YouTube Iframe 播放器 API 来播放视频 并允许用户更改视频而无需重新加载页面 我通过使用来实现这一点player loadVideoById video id 方法 通过YouTube视频id
  • 如何根据本地存储中的另一个数据响应推迟 XMLHttpRequest [重复]

    这个问题在这里已经有答案了 function to download pps compress txt from cloud server for global parameter set PPs function get pps para
  • 对 UPDATE 行的 POST 请求

    我是 javascript 的新手 所以我正在寻找一些帮助来创建一种拖放地理编码标记的方法 以允许交互式更改地址 我相信通过更新 LOCATION 列行可以实现这一点 第一步是 发送 POST 请求 对吧 好吧 所以我想问是否有人可以给我看
  • Safari 和 Edge 中的 audioContext.copyToChannel() 替代方案

    Safari 和 Edge 都不支持audioContext copyToChannel 函数用自定义内容填充audioBuffer 还有其他方法吗 就我而言 我想创建一个脉冲响应 用该响应填充缓冲区 并将一些声音与该缓冲区进行卷积 对于
  • Opera Mobile 9.7 Beta 设置焦点 [重复]

    这个问题在这里已经有答案了 我们使用手持式扫描仪将物品移入和移出库存 扫描仪运行一个 ASP 页 该页提交表单以移动项目 我们最近购买了一台运行 Windows Mobile 6 1 的新扫描仪 很快就意识到 Mobile IE 完全没用
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • Meteor:即使设置了 ANDROID_HOME 也未设置

    操作系统 Ubuntu 14 04 框架 流星1 1 0 2 应用名称 Songofy 这是输出meteor install sdk android meteor install sdk android Found Android bund
  • 谷歌地图的灰度

    有没有什么方法可以在不丢失任何其他功能的情况下以灰度显示 Google 地图 通过 Javascript API 嵌入 是的 他们在 api V3 中引入了StyledMaps http code google com apis maps
  • 将 async 和await 与export const 一起使用

    我无法完成这项工作 它说 await 是一个保留字 是的 当然是 而且我想使用它 怎么了 export const loginWithToken async gt return dispatch gt dispatch type SESSI
  • 带数字键的 Immutable.js 映射(包括性能测试)

    我在 React Native 应用程序中将 Immutable js 与 Redux 结合使用 元数据 例如查找表 是从服务器获取的 并作为 Immutable Map 保存在应用程序本地 查找值的键是整数 数据库中的主键 当我获取数据时
  • 使用 ASP.Net 和 Ajax 的登录页面

    我正在尝试使用 html ajax 和 ASP NET 制作登录页面 数据确实传递给 ajax 函数 但是当我调试 asp 页面时 用户名和密码以 NULL 发送 该代码应该获取用户名和密码 然后返回用户 ID html页面 div Use

随机推荐

  • 了解消息中间件的基础知识

    为什么要使用消息中间件 解耦 消息中间件可以使不同的应用程序通过解耦的方式进行通信 减少系统间的依赖关系 提供异步通信 消息中间件可以实现异步消息传递 提高系统的响应性能 流量削峰 消息中间件可以起到流量削峰的作用 将短时间内的爆发式流量存
  • phpstudy不能启动mysql解决

    phpstudy不能启动mysql 电启动 日志显示一起动 已停止 是因为自己已经打开了mysql 需要关闭或删除 然后在phpstudy中点启动就可以了 在mysql 的bin 目录下 管理员身份运行 sc delete mysql 即可
  • Python range函数

    目录 描述 语法 返回值 使用示例 1 仅保留stop参数 2 指定起始位置和终止位置 3 指定步长 使用注意 1 所有参数都是整形 不能给出浮点数序列 2 当start参数省略时 step参数也必须省略 3 step小于1没有任何意义 4
  • MFC通过类向导删除控件

    1 打开 rc文件 找到欲删除的控件 选中控件后按右键 选择 类向导 在类向导页面找到控件对应的消息 成员变量 选中后点击 删除处理程序 此时在源文件里变量的定义声明 数据交换函数的相关语句 消息映射中的信息都被注释了 2 在对话框内删除控
  • Excel 解决高次方程求解的方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 说明 利用Excel解高次方程 其原理就是 寻找一个最接近真实值y的实际值 根据这个实际值 然后找一个能让这个方程成立的实际x值 所以通过Excel求出来的高次方程的x值和
  • 单片机蓝桥杯--LED呼吸灯

    在CT107D单片机综合训练平台实现LED的基本控制和其他单片机开发平台不一样 不单单是控制几个LED实现跑马灯这么简单 因为在这个平台上要掌握74CH138译码器和74HC573锁存器的使用才能实现对LED的基本控制 因此 这个单元的重点
  • train_word2vec(CNN情感分析yoom例子五)

    关键函数 sentences vocabulary inv w for w in s for s in sentence matrix embedding model word2vec Word2Vec sentences workers
  • 驱动器能耗制动和制动电阻

    能耗制动 伺服电机在制动过程是机械能转化为电能的过程 电能通过逆变回路回馈到直流母线 会导致直流母线电压升高 当电压上升超过允许阈值后 将会损坏驱动器内部器件 此时伺服电机制动时回馈的能量通过制动电阻消耗掉 能耗制动的优点 制动转矩平滑 而
  • # Spring Boot搭建实际项目开发中的架构

    Spring Boot搭建实际项目开发中的架构 前面的课程中 我主要给大家讲解了 Spring Boot 中常用的一些技术点 这些技术点在实际项目中可能不会全部用得到 因为不同的项目可能使用的技术不同 但是希望大家都能掌握如何使用 并能自己
  • 遥感+python 1.1环境搭建

    遥感 python 1 1环境搭建 目录 遥感 python 1 1环境搭建 1 工作环境 2 用到的包 3 下载区 本章节 笔者主要讲述在python中遥感应用的笔者的使用到的基本工具以及基本环境 为后续讲述其他代码做铺垫 为保证代码的运
  • Create Custom APIs in Dynamics 365 CRM

    Create Custom APIs in Dynamics 365 CRM Power Platform Custom API 系统间集成的新方法 本质上来说和之前的Custom Action区别不大 但从定义到注册整套更规范化 UI配置
  • Fleck webSocket

    NuGet 安装 Fleck 服务端 private static IDictionary
  • 关于低功耗的记录

    在之前的soc仿真中 用到了多电源域设计 因此学习了带UPF仿真的低功耗验证方法 在这里记录一下当时遇到的问题 低功耗设计包含 1 多电源域设计 部分模块可以使用不同的电压 如1 3v 1 1v 0 8v 2 多阈值电压cell的使用 Mu
  • HTML 链接

    HTML 链接 HTML 使用超级链接与网络上的另一个文档相连 几乎可以在所有的网页中找到链接 点击链接可以从一张页面跳转到另一张页面 尝试一下 实例 HTML 链接 如何在HTML文档中创建链接 可以在本页底端找到更多实例 HTML 超链
  • Java抽象类

    abstract修饰符可以用来修饰方法 也可以修饰类 如果修饰方法 那么该方法就是抽象方法 如果修饰类 那么该类就是抽象类 抽象类中可以没有抽象方法 但是有抽象方法的类一定要声明为抽象类 抽象类 不能使用new关键字来创建对象 它是用来让子
  • Windows常用运行命令

    Windows常用运行命令 打开运行窗口 使用Win R快捷键或右键开始 运行菜单 在打开输入框输入命令回车或确定 微软官方文档 https docs microsoft com zh cn windows server administr
  • Jetbrains使用学生账户激活与账户激活error:拒绝连接 问题解决

    Follow these steps Go to File gt Settings gt Appearance Behavior gt System settings gt HTTP Proxy Select Auto detect pro
  • cisco packet tracer 做VOIP语音实验

    实验环境 操作系统 windows 10 模拟器 cisco packet tracer 7 2 1 实验拓扑如下 ROUTER0 CONF 打开DHCP为局域网中的设备分配IP地址 DHCP Option 150是思科独有的命令 用来指定
  • 本地cdn缓存:解决Mathjax不稳定加载不出来公式

    本地cdn缓存 解决Mathjax不稳定加载不出来公式 如果网站用mathjax来显示公式 例如 这个Confluence 那么我们会发现 有的时候 公式加载慢半拍或者干脆加载不出来 这是因为 每次使用mathjax 浏览器都会从遥远的cd
  • 033_webpack打包ES6模块化工程

    1 新建项目 1 1 新建一个ES6Model文件夹 1 2 打开VSCode 1 3 使用VSCode打开文件夹 1 4 选择要打开的文件夹 1 5 资源管理器中显示打开的文件夹 1 6 在终端中运行 npm init y命令 初始化包管