webpack完整的配置

news/2024/10/22 17:33:47/

现在的前端,出现很多种可以提高开发效率的工具和框架,但是源码却不能直接运行,只有通过转换之后才能正常运行。

那么构建就是把源码转化为可以执行的JavaScript、HTML和CSS代码。

构建包含:

  1. 代码转换【比如typescript编译为JavaScript,scss编译为CSS】;
  2. 文件优化,比如压缩JavaScript,压缩合成图片;
  3. 代码分割,提取公共代码,提取首页不需要执行的代码让它异步加载;
  4. 模块合并,把模块分类合并成一个文件;
  5. 自动刷新,监听本地源码的变化,自动重新构建、刷新浏览器;
  6. 代码校验
  7. 自动发布。

webpack

webpack是一个打包模块化JavaScript的工具,通过loader转换文件,通过Plugin注入钩子,最后输出文件。

webpack专注于构建模块化项目。优点是:

  1. 能做到开箱即用,一步到位;
  2. 通过Plugin扩展,灵活
  3. 使用的场景广泛
  4. 社区活跃,可以找到很多场景下的开源扩展
  5. 有良好的体验

webpack也有缺点,就是只能用于采用模块化开发的项目。

webpack配置

1、 首先安装webpack和webpack-cli;
2、 创建基础的JavaScript文件盒HTML,代码如下:

index.html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="root"></div><script src="./dist/bundle.js"></script>
</body></html>

工具函数的JavaScript文件index.js:

function show(content){window.document.getElementById("root").innerText = "Hello," + content
}module.exports = show;

main.js代码如下:

const show = require("./index");show("Webpack");

package.json配置如下:

  "scripts": {"build": "webpack"},

webpack的配置文件webpack.config.js如下:

const path = require("path");
module.exports = {entry:"./main.js",output:{filename:"bundle.js",path:path.resolve(__dirname,"./dist")}
}

执行命令:yarn build,在浏览器中打开index.html文件,页面会显示:“Hello,Webpack”

执行命令后,文件夹下会生成一个dist文件夹,dist就是就是编译后的静态代码。

执行打包命令后,webpack从entry的配置文件开始,识别出源码中的模块化导入语句,递归地找出入口文件的依赖,然后进行打包。

这就是webpack基本的打包流程。


http://www.ppmy.cn/news/743540.html

相关文章

求助,关于用bitcoin core恢复wallet.dat钱包的问题

1、是不是只有等bitcoin core同步完了才能导入wallet.dat&#xff1f; 直接把你的wallet.dat替换默认的钱包文件&#xff0c;再打开bitcoin core即可。 在控制台里输入命令&#xff1a;listaddressgroupings&#xff0c;列出所以用过的地址&#xff0c; 然后导出有余额的地址的…

UTON便携式硬件冷钱包 安全实用易上手

*和数软件重磅推出的UTON便携式硬件冷钱包* 1.92寸高清屏&#xff0c;镀纯金金属外壳一体机身&#xff0c;兼具安全与实用&#xff0c;囊括硬件钱包所需功能&#xff0c;全方位保护资产安全&#xff0c;优势如下&#xff1a; 一、冷热端分离&#xff0c;私钥永不触网 冷端构…

区块链技术之钱包技术

区块链钱包技术是一种数字货币的管理工具&#xff0c;主要用于存储、接收、发送和管理各种加密数字货币&#xff0c;如比特币、以太币等。钱包通常由公钥、私钥、地址和加密算法组成&#xff0c;为使用者提供了安全存储和快速管理数字货币的功能。 以下是区块链钱包技术的主要…

听a16z讲安全:钱包的「非托管」谬论

个人对自己的私钥&#xff08;和加密资产&#xff09;有直接和唯一的控制权&#xff08;和所有权&#xff09;——坚持这种理念的加密钱包被称为「非托管」钱包&#xff0c;这意味着外部无法访问密钥。 直到一系列「非托管」钱包黑客事件——9 月 Wintermute 私钥遭「暴力破解」…

bitcoin core全节点钱包同步太慢的解决方法及钱包数据文件移动的方法

最近下载了一个bitcoin core全节点钱包&#xff0c;刚开始的时候同步还比较快&#xff0c;以为一天就可以搞定。没想到一天后看&#xff0c;速度越来越慢&#xff0c;看时间要1周以上。本着程序员的捣鼓精神。特别摸索了一下&#xff0c;找了几个解决办法。按照这个方法&#x…

加密硬件货币钱包-市场现状及未来发展趋势

根据QYR&#xff08;恒州博智&#xff09;的统计及预测&#xff0c;2021年全球加密硬件货币钱包市场销售额达到了 亿美元&#xff0c;预计2028年将达到 亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2022-2028&#xff09;。地区层面来看&#…

HD钱包(身份钱包)简介

身份钱包学名叫做分层确定性钱包(简称&#xff1a;HD 钱包)&#xff0c;最早是比特币开发者们为了解决备份私钥困难而提出的解决方案。 HD钱包发展过程 最早的比特币钱包是一堆随机生成的私钥的集合&#xff1a;钱包会预先生成 100 个随机私钥&#xff0c;并且每个私钥只使用…

数字人民币试点新场景多点开花,多品种“硬件钱包”触达平常百姓家

一直以来&#xff0c;数字人民币试点受到广泛关注。继苏州数字人民币试点后&#xff0c;又有诸多测试消息披露&#xff0c;其中既有如苏州一样的大规模红包试点&#xff0c;也有小场景的专项测试。在这其中&#xff0c;北京、上海对数字人民币硬件钱包的探索无疑成为了全场焦点…