使用parcel搭建threejs开发环境

一、什么是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(热更新),还等什么,用起来吧

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】1 感知机(人工神经元)

认识感知机 感知机接收多个输入信号,输出一个信号 感知机的信号只有“流/不流”(1/0)两种取值 0对应“不传递信号”,1对应“传递信号”。 输入信号被送往神经元时,会被分别乘以固定的权重。神经元会计算传送过来的信号的综合,只有…

怎么利用代理IP优化网络爬虫

网络爬虫会自动扫描互联网,搜集大量数据并将它们组织起来。但是,许多网站都采取了反爬虫策略,限制了网络爬虫的活动。这时候,代理IP就起到了关键作用。 一、代理ip在网络爬虫中的作用 代理ip爬虫中使用代理IP有很多好处。首先&…

OpenCV 笔记_3

文章目录 笔记_3直方图匹配(直方图规定化) 主要针对单通道图像模板匹配matchTemplate 模板匹配函数 图像卷积filter2D 卷积函数 过滤器图像噪声的产生cvflann::rand_double 产生随机浮点数在(0~1)之间cvflann::rand_int 产生随机整数在(0~RAN…

golang实现webgis后端开发

目录 前言 二、实现步骤 1.postgis数据库和model的绑定 2.将pg库中的要素转换为geojson (1)几何定义 (2)将wkb解析为几何类型 (3)定义geojson类型 (4)数据转换 (5)数据返回 2.前端传入的geojson储存到数据库 3、其他功能实现 总结 前言 停更了…

系列二、RuoYi前后端分离(登录密码加密去除公钥)

一、问题描述 系列一虽然实现了登录时密码加密,但是/getPublicKey返回的结果中,把私钥也返回了,这样显然是不合理的,如下: 二、后端代码修改 2.1、RSAUtil package com.tssl.business.utils;import org.apache.comm…

【自监督论文阅读 2】MAE

文章目录 一、摘要二、引言2.1 引言部分2.2 本文架构 三、相关工作3.1 Masked language modeling3.2 Autoencoding3.3 Masked image encoding3.4 Self-supervised learning 四、方法4.1 Masking4.2 MAE encoder4.3 MAE decoder4.4 Reconstruction target 五、主要实验5.1 不同m…

flutter:数据持久化

简单的数据持久化 保存数据到本地磁盘是应用程序常用功能之一,比如保存用户登录信息、用户配置信息等。而保存这些信息通常使用 shared_preferences,它保存数据的形式为 Key-Value(键值对),支持 Android 和 iOS。shar…

访问者模式(十八)

相信自己,请一定要相信自己 上一章简单介绍了命令模式(十七), 如果没有看过, 请观看上一章 一. 访问者模式 引用 菜鸟教程里面访问者模式介绍: https://www.runoob.com/design-pattern/visitor-pattern.html 在访问者模式(Visitor Pattern&#xff09…

K8s in Action 阅读笔记——【14】Securing cluster nodes and the network

K8s in Action 阅读笔记——【14】Securing cluster nodes and the network 迄今为止,创建了 Pod 而不考虑它们允许消耗多少 CPU 和内存。但是,正如将在本章中看到的那样,设置 Pod 预期消耗和允许消耗的最大数量是任何 Pod 定义的重要部分。…

基于Flask+Bootstrap+机器学习的世界杯比赛预测系统

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

南京贸易企业增值税居高不下,该如何解决?

南京贸易企业增值税居高不下,该如何解决? 《税筹顾问》专注于园区招商,您的贴身节税小能手,合理合规节税! 南京作为省会城市,近年来由于芯片、生物医药等产业的发展而跻身前十,随着它在教育、军…

C语言基础 位域

C语言基础:位域 主题:位域(bit-field) 关键字:位域 冒号 结构体 存储空间 参考链接:C语言中文网:位域 、C菜鸟工具(在线编译器)、位域知乎问答 注:以下内容中…

redis五种数据类型具体时候的底层编码

redis随着值的类型不同,其在底层编码类型会不相同。目前现有的编码格式有 #define OBJ_ENCODING_RAW 0 /* Raw representation */ #define OBJ_ENCODING_INT 1 /* Encoded as integer */ #define OBJ_ENCODING_HT 2 /* Encoded as hash table */ #def…

2023年打印机电商市场数据分析

近年来,伴随自动化办公及在线教育等场景的常态化,文件或学习资料等的打印需求不断增长,这也使得打印机需求暴增,打印机市场的市场规模也越来越大。 根据鲸参谋电商平台的相关数据显示,今年1月份至4月份,打印…

Unity UGUI1——基础组件概述

一、UGUI 介绍 ​ UGUI 是 Unity 引擎内自带的 UI 系统,官方称之为:Unity UI ​ 是目前 Unity 商业游戏开发中使用最广泛的 UI 系统开发解决方案 ​ 它是基于 Unity 游戏对象的 UI 系统,只能用来做游戏 UI 功能 ​ 不能用于开发 Unity 编…

简单的TCP网络程序·单进程(后端服务器)

目录 文件1:tcpServer.cc 文件2:tcpServer.hpp 1.提出日志概念 -- 在后续完善 日志格式 -- 暂定简单的打印功能 2.创建套接字 SOCK_STREAM -- socket参数 3.bind自己的套接字 4.设置socket 为监听状态 * 新接口1:listen 函数1&…

linux服务器上,docker安装nginx

如果出现 Using default tag: latest Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImagenginx&taglatest": dial unix /va…

Python 中常用的数据类型及相关操作详解

文章目录 列表(Lists)创建列表访问列表元素添加元素到列表删除列表元素切片(Slicing)其他常用操作 元组(Tuples)创建元组访问元组元素元组长度其他常用操作 字符串(Strings)创建字符…

Three.js--》实现图片转3D效果展示

目录 项目搭建 初始化three.js基础代码 加载图片纹理 设置着色器 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 项目搭建 本案例还是借助框架书写th…

【Qt】Ubuntu安装GCC9.3.0版本的Qt5.15.5

目录 一、安装GCC9.3.0 1.下载GCC9.3.0源码 2.获取依赖项的包 3.生成Makefile文件 4.编译并安装 5.生成软链接 6. 查看GCC版本 二、安装Qt 1.下载Qt安装包 2.创建Qt项目并运行 一、安装GCC9.3.0 1.下载GCC9.3.0源码 https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3…