01---webpack的基础篇

01 为什么需要webpack构建工具?
需要转化ES6及以上的语法,因为低版本浏览器不支持ES6及以上的语法需要转化jsx的语法等需要补齐css的前缀,因为不同浏览器对于css样式的兼容不同需要加前缀,以及预处理器。压缩混淆,压缩代码 图片等。

02 初始webpack:配置文件的名称
webpack默认的配置文件是 webpack.config.js文件可以通过webpack --config 指定配置文件

        

03 webpack的配置组成
module.exports = {entry:'./src/index.js',   @1 打包的入口文件output:'./dist/main.js',  @2 打包的出口文件mode:'production',      @3 环境module:{rules:[ {test:/\.txt$/, use:'raw-loader'} ]  @4 解析的loader},plugins:[    @5 插件配置new HtmlwebpackPlugin({  template:'/src/index.html'})]
}

04 webpack环境的安装
第一步 打开终端安装nvm:通过curl安装执行命令如下:curl -o- https://raw.githubusercontent.com/nvm/v0.34.0/install.sh | bash第二步 将nvm添加到环境变量中去:执行如下的代码soure ~/.bash_profile第三步 检测nvm是否安装成功:执行如下命令nvm list 可以查看到已经安装的node的版本第四步 安装node.js:执行如下的代码nvm install v10.15.3 ; 对应的node.js的版本号;

   05 创建初始的项目并按照webpack和webpack-cli;
终端执行:mkdir mv-project;  创建了mv-project的目录进入目录:cd mv-project初始化项目: npm init -y安装webpack和webpack-cli: npm install webpack webpack-cli --save-dev查看webpack安装的版本终端中执行: ./node_modules/.bin/webpack -v上面的代码相当于在执行webpack这个打包工具。

06 简单的列子来看webpack的打包流程:

  第一步 创建webpack.config.js配置文件及相关脚本
const path = require('path')module.exports = {mode:'production',entry:'./src/index.js',output:{path:path.resolve(__dirname,'dist'),filename:'bundle.js'}}

  第二步 需要在项目的跟目录下创建src目录以及index.js,hello.js文件

   hello.js文件代码如下:

export const hello = ()=>{return  'hello webpack'}

   index.js文件的代码如下:

import {hello} from './hello.js'document.write(hello())console.log(hello())

第三步 执行打包的命令:在终端中执行如下命令:

./node_modules/.bin/webpack

 第四步 打包的结果 会在项目的根目录中创建一个dist目录并有一个bundle.js文件

 同时需要创建index.html文件导入webpack打包生成的dist目录下的bundle.js的文件

<HTML><head><body><script src='./dist/bundle.js'></scrit></body></head></Html>
07 简化./node_modules/bin/webpack打包的命令:通过npm run build进行打包
在package.json文件中:scripts对象中创建执行webpack脚本的命令:原理:模板局部安装会在node_modules/.bin目录下创建软连接{"name": "vue2code","version": "1.0.0","description": "","main": "index.js","scripts": {"build": "webpack",},"keywords": [],"author": "","license": "ISC","dependencies": {}
}

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【项目实战经验】DataKit迁移MySQL到openGauss(上)

前言 本文将分享DataKit迁移MySQL到openGauss的项目实战&#xff0c;供广大openGauss爱好者参考。 1. 下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise…

力扣热门算法题 174. 地下城游戏,189. 轮转数组,198. 打家劫舍

174. 地下城游戏&#xff0c;189. 轮转数组&#xff0c;198. 打家劫舍&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.31 可通过leetcode所有测试用例。 目录 174. 地下城游戏 解题思路 完整代码 Python Java 189. 轮转数…

面试题继承和实现的优先级

面试题继承和实现的优先级 问&#xff1a;下面代码中将会执行哪个run()方法 // 面试题 new Thread(new Runnable() {Overridepublic void run() {System.out.println("实现.....");}}){Overridepublic void run() {System.out.println("继承.....");}}.s…

蓝桥杯刷题--python-36

4199. 公约数 - AcWing题库 def gcd(a,b): while b: a,bb,a%b return a def init_divisors(a,b): dgcd(a,b) i1 while i*i<d: if d%i0: ans.append(i) if i!d//i:ans.append(d//i) i1 ans.so…

The Sandbox 与 Otherworld 合作推出元宇宙网络漫画中心

​ The Sandbox 将与韩国初创公司 Otherworld 合作&#xff0c;建立一个元宇宙网络动漫中心&#xff0c;为用户提供基于 KakaoPage 热门 IP 的各种体验。 Solo Leveling 是此次合作的第一个 IP。这部网络动画将深入主人公Sung Jinwoo的生活&#xff0c;并与 NFT 进行整合。随后…

【华为OD机试】出租车计费 、靠谱的车【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过…

JavaScript(五)---【DOM】

零.前言 JavaScript(一)---【js的两种导入方式、全局作用域、函数作用域、块作用域】-CSDN博客 JavaScript(二)---【js数组、js对象、this指针】-CSDN博客 JavaScript(三)---【this指针&#xff0c;函数定义、Call、Apply、函数绑定、闭包】-CSDN博客 JavaScript(四)---【执…

[蓝桥杯练习]通电

kruskal做法(加边) #include <bits/stdc.h> using namespace std; int x[10005],y[10005],z[10005];//存储i点的x与y坐标 int bcj[10005];//并查集 struct Edge{//边 int v1,v2; double w; }edge[2000005]; int cmp(Edge a, Edge b){return a.w < b.w;} int find(i…

奇异值分解及MATLAB实现

svd分解基本改变 奇异值分解(Singular Value Decomposition,简称SVD)是线性代数中的一种重要技术,广泛应用于信号处理、统计学、语义分析、图像处理等多个领域。SVD不仅仅是一种数学工具,它提供了一种深入理解数据结构和解决问题的方法。接下来,我们将深入探讨SVD的概念…

.pth文件转化为onnx文件,并进行可视化

1、文件转化 import torch.onnx from torchvision import models from onnxsim import simplify import onnx torch_model torch.load("D:\checkpoint-epoch40.pth",map_locationcpu) # pytorch模型加载 model models.resnet50() # model.load_state_dict(torch_…

用C++编写“多功能双人五子棋”游戏

当用C编写一款五子棋游戏时&#xff0c;可以按照以下步骤进行&#xff1a; 创建一个棋盘&#xff1a;使用二维数组来表示棋盘&#xff0c;每个元素代表一个位置&#xff0c;可以使用数字或字符来表示空位、黑子和白子。 实现游戏规则&#xff1a;根据五子棋的规则&#xff0c;…

代码随想录算法训练营第二十八天(回溯4)|93. 复原 IP 地址、78. 子集、90. 子集 II(JAVA)

文章目录 93. 复原 IP 地址解题思路源码 78. 子集解题思路源码 90. 子集 II解题思路源码 93. 复原 IP 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&…

什么是Redis数据一致性?如何解决?

在系统中缓存最常用的策略是&#xff1a;服务端需要同时维护DB和cache&#xff0c;并且是以DB的结果为准–Cache-Aside Pattern&#xff08;缓存分离模式、旁路缓存&#xff09; 读数据 单纯的读数据是不会产生数据不一致&#xff0c;只有并发下读和写才会存在数据不一致。 写…

python2.7+rf框架搭建

一 下载pycharm 可下载最新版&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 新建项目时需要关联python2.7&#xff0c;这个必须要python2.7安装好之后关联才生效&#xff0c;若也关联了&#xff0c;但创建项目后有弹框显示类似“项目创建失败”的提…

人工智能常用的编程语言有哪些?

人工智能常用的编程语言包括Python、Java、C、R、Lisp和Prolog等。具体选择取决于项目需求、技术背景和性能要求。 Python是AI领域的明星语言&#xff0c;由于其简洁易懂的语法、丰富的库支持以及庞大的社区资源&#xff0c;适用于机器学习、深度学习和自然语言处理等领域。 …

千万级数据用什么数据结构判断某个数据是否存在?

面试题&#xff0c;如何在千万级的数据中判断一个值是否存在&#xff1f;-腾讯云开发者社区-腾讯云 (tencent.com) 使用布隆过滤器。 数组大小和hash函数数量如何确定&#xff1f; 通过公式可以得出&#xff08;与log2有关&#xff09; 使用什么hash函数&#xff1f; murm…

算法练习第四十二天|01背包问题、416. 分割等和子集

一些背包问题 01背包问题 题目描述 小明是一位科学家&#xff0c;他需要参加一场重要的国际科学大会&#xff0c;以展示自己的最新研究成果。他需要带一些研究材料&#xff0c;但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等&#xff0c;它们各自…

nvme协议学习总结

一、nvme命令 1 nvme在pcie基础上的协议&#xff0c;与PCIE配合&#xff0c;实现高效传输。 2 nvme命令主要分IO命令和admin命令。 3 一个NVME CMD执行流程&#xff1a; step1&#xff1a;host把cmd写入SQ queue中&#xff1b; step2&#xff1a;host远端更新Device&#x…

如何优化Java程序的性能?

优化Java程序的性能是一个多方面的任务&#xff0c;它涉及到代码设计、算法选择、内存管理、并发处理等多个方面。以下是一些建议&#xff0c;帮助你优化Java程序的性能&#xff1a; 一、代码和算法优化 1、选择合适的数据结构和算法&#xff1a;确保你的代码使用了最有效的数…

C++从入门到精通——nullptr

nullptr 前言一、指针空值NULL二、指针空值nullptr(C11)C98中的指针空值 三、NULL与nullptr的区别总结 前言 nullptr是C11引入的一个新特性&#xff0c;用于表示空指针。它提供了一种类型安全的方式来区分空指针和非空指针&#xff0c;避免了传统空指针&#xff08;如NULL或0&…