使用parcel搭建threejs开发环境

news2024/11/26 10:04:32

一、什么是parcel

parcel官网:https://www.parceljs.cn/

Parcel是一个快速、零配置的Web应用打包器,可将JavaScript、CSS、HTML和图像等静态文件打包到一个捆绑文件中。它的主要目标是简化Web应用程序的打包过程,使开发人员可以更快速地创建现代Web应用程序。Parcel支持许多不同的文件类型和模块系统,并具有自动编译自动安装依赖项热模块更换等功能。它是一个强大而易于使用的开发工具,广泛用于现代Web开发中

二、和webpack对比

优势:

  1. Parcel 对开发者来说更加友好,无需配置繁琐,直接使用默认配置即可启动各种项目。
  2. Parcel 支持零配置的 Tree Shaking,能够智能地删除未被使用的代码,使得生成的代码更加精简。
  3. Parcel 支持多种类型文件的打包,包括 CSS、HTML、JS、图片等,无需使用 loaders。
  4. Parcel 提供了一个实时预览功能,可以直接在浏览器中查看修改后的效果,提高了开发效率。

不足:

  1. Parcel 的配置项较少,无法实现复杂场景的定制。
  2. Parcel 对于第三方库的引用会进行全局打包,存在多个页面中重复引用的情况。
  3. Parcel 使用的是串行打包,性能可能不如 Webpack 的并行打包。
  4. Parcel 自动化程度过高,不够灵活,无法满足一些细节要求。

我们这里只是写一些threejs的demo,并没有什么复杂的应用场景,所以更加适用parcel搭建一个开发环境

三、使用parcel搭建开发环境

  1. 在你正在使用的项目目录下创建一个 package.json 文件:

npm init -y

  1. 安装 Parcel

npm install parcel-bundler -D

  1. 创建入口文件
    在项目目录下新建src/index.html
    在这里插入图片描述
  2. 配置打包命令
  • package.json
 "scripts": {
    "dev": "parcel src/index.html",
    "build": "parcel build src/index.html"
  },
  1. 创建css/style.css
    在这里插入图片描述
    如图,我们在assets目录下创建了css/style.css并设置了body的背景色为淡蓝色

  2. 创建main/main.js
    在这里插入图片描述

  3. 下载three.js库

npm install three --save

  1. 在入口文件index.html中引入样式style.css和main.js
    在这里插入图片描述
  2. 打包运行

npm run dev

  1. 开发环境运行效果
    在这里插入图片描述

在这里插入图片描述

好啦,这样我们就基于parcel搭建了一个简单的本地web开发环境啦,它可以自动为我们将打包的代码运行到浏览器,并可以实现hmr(热更新),还等什么,用起来吧

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

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

相关文章

测试开发工是做什么的?2023年往后测试之路发展前景?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 现在公司企业对测…

Linux目录分类说明

在Linux根目录下一般包括如下目录,这里就这些目录的特点做一些归纳。(centos8为例) 一、/var目录 /var目录是一个包含经常变化的文件的目录。它是Variable的缩写,也有些人解释为Versioned Archives。通常包含以下内容:…

Groovy基础教程

一、概述 Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言,他结合了Python、Ruby和Smalltalk的特性,Groovy代码能够于Java代码很好的结合,也能用于扩展现有代码。由于其运行在JVM的特性,Groovy可以使用其他Java语言编写法的库。 …

电源ATE测试系统-电源模块自动化测试软件ATECLOUD-Power

ATECLOUD-Power测试应用场景 研发测试、产线测试、老化测试、一测二测等 ATECLOUD-Power解决测试痛点 ☁ 人工手动测试,效率低,需要提高测试效率和准确性; ☁ 测试产品种类繁多,测试方法多样,客户需要灵活的解决方案…

六、SpringBoot集成elasticsearch

目录 官网API介绍 1、新建maven项目 2、检查elasticsearch依赖的版本 3、配置RestHighLevelClient对象 4、使用springboot-test测试API的使用 官网API介绍 Java API Client https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html …

TypeScript基础使用方法

Author: 德玛玩前端 Date: 2023-06-07 TypeScript 一、Typescript介绍 1.1、TypeScript产生的原因 旧JS是弱类型语言,一个变量先后可以保存不同类型的数据,所以不可靠。旧JS是解释执行语言,一边解释,一边执行,一些低…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

7.SpringCloudAlibaba 整合 Sentinel

一、分布式系统遇到的问题 1 服务雪崩效应 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100%是可用的。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致调用服务瘫痪。 由于服务…

SDP协议是什么,详解SDP协议

一、SDP协议简介 SDP(Session Description Protocol)是一种会话描述协议,用于描述多媒体会话的参数。它是一种文本协议,通常用于VoIP(Voice over Internet Protocol)和视频会议等应用中。SDP协议定义了一种…

【自监督论文阅读 1】SimCLR

文章目录 一、摘要二、引言三、方法3.1 主要框架3.2 训练一个大的batchsize 四、数据增强4.1 实验一 数据增强的组合对学习好的特征表达非常重要4.2 对比学习需要更多的数据增强 五、一些实验证明5.1 大模型更有利于无监督对比学习5.2 非线性层的预测头增加了特征表示5.3可调节…

使用vtkWindow报错Debug Assertion Failed ... mfc140d.dll

环境:VS2022VTK7.1.1,还使用了MFC 报错信息 Debug Assertion Failed! Program: C:\WINDOWS SYSTEM32 mfc140d.dll File. D: a work 1 s src vctools VC7Libs ship ATLMFCnclude afxwin1.inLine: 21 For information on how your program can cause an a…

2023年智能优化算法之——能量谷优化器 Energy valley optimizer(EVO),附MATLAB代码和文献

能量谷优化器(EVO)是一种新的元启发式算法,它的算法是受到了关于稳定性和不同粒子衰变模式的先进物理原理的启发。在文献中,作者与CEC函数中最先进的算法进行了比较,并且证明该算法确实很强劲。算法原理大家请参考文献。 [1] Azizi M , Aic…

考研算法第27天:直接插入排序 【插入排序】

插入排序算法介绍 老规矩我们来模拟一遍样例: 其思想简单来说就是将旧数组的每个数放入到新数组中 但是每次放入都要遵守下面的原则:如果前面有比当前数大的数便把它放到当前数的后面去。 过程如下面这张图 https://ts1.cn.mm.bing.net/th/id/R-C.1d…

GPT-4满分通过MIT本科数学考试!这套提示词火了

量子位 | 公众号 QbitAI 万万想不到啊,MIT数学考试,被GPT-4攻破了?! 突然有人在最新论文工作中高调宣布: GPT-4在MIT的数学和EECS(电气工程和计算机科学系)本科学位考试中,表现出…

电商超卖,从业务到设计

编辑导语:超卖这一概念的定义可以从不同层面进行阐述,比如平台层面、渠道层面、仓库层面等。而假设因超卖导致订单难以履行,则容易让用户体验“打折”。为什么有时电商超卖的现象会发生?可以从哪些角度来降低超卖导致的风险&#…

Stable diffusion WebUI LoRA使用教学

在Stable Diffusion网络中,通常会下载社区中的LoRA模型,并对CLIP模型和Unet的CrossAttention的线性层进行微调。相应的被微调的层会有 lora_up 和 lora_down 两组参数,分别对应上述的 A 和 B 矩阵。参考高手的代码,只需根据LoRA保…

【Unity Shader】从入门到感慨万千(1)基本概念:什么是网格?什么是材质和Shader?

文章目录 一、什么是网格(Mesh)?二、什么是MeshFilter(网格过滤器)?三、什么是MeshRenderer(网格渲染器)?四、什么是材质(Material)?五、什么是Shader(着色器)?一、什么是网格(Mesh)? 如上图,模型的三角形面就叫做网格(Mesh),它的本质是一堆顶点数据的规则…

ShowMeBug与极狐(GitLab)战略合作,推动DevOps人才高效甄选

近日,ShowMeBug与领先的开放式一体化安全DevOps平台提供商极狐(GitLab)达成深度合作协议,双方将致力于共同打造具有行业强认可度以及高实用性的DevOps岗位题型,助力企业通过更为专业、标准的技术笔试题型,提升DevOps岗位人才筛选效…

关于智能指针的补充1(share_ptr、weak_ptr 相互配合使用)

关于智能指针的补充1 1.share_ptr存在的问题2.weak_ptr2.1介绍2.2weak_ptr 核心代码逻辑 1.share_ptr存在的问题 先看这样一段代码 #define _CRT_SECURE_NO_WARNINGS using namespace std; #include"smartptr.h" struct ListNode {GXPYY::shared_ptr<ListNode&g…