Rollup作者新作: Svelte Cubed, 拥抱 Three.js

在2021年11月20日,Svelte 召开了第四次虚拟会议。

image-20211130233913710

而会议中最令我眼前一新的当然是 轮子哥 Rich-Harris 带来的 Svelte Cubed 了。

科普:轮子哥 Rich-Harris:Svelte、Rollup 作者

image-20211130234212172

这个项目亮眼的地方,并不是因为其他的演讲者不好,也并不是因为轮子哥是 Svelte 作者的原因。而是因为他带来的 Svelte-Cubed 和我目前在公司负责项目的技术栈有非常相似的感觉。在公司由于需要开发一个 新 的 H5 项目,因此我采用了较为激进的 Svelte + Aframe/Three.js + Tailwind.css + Vite 的组合。整套组合下来,无论是开发体验还是最后生产包的体积都非常的美妙~ 因此当我看到 轮子哥发布这个 新轮子 的时候,我无比激动,居然把我想要的组合直接集成到了 Svelte

然后我们来看看 Svelte-Cubed 面貌:

打开 https://svelte-cubed.vercel.app/ ,目前官网没有用自定义的域名,直接用了 vercel 的域名,猜测和 轮子哥去了 vercel 工作有关系。

image-20211201000056451

我们来看看 cubed 官方的一些示例:

2021-12-01-13.24.37

实战

我们来尝试一下自己写一个项目,首先初始化一个 svelte 项目

npm init svelte@next my-new-app
cd my-new-app
npm install
npm run dev

安装 Three.js 和 svelte-cubed

npm install three svelte-cubed

如果使用 TypeScript ,还需要引入 Three.js 的 ts 声明

npm install -D @types/three

打开 src/routes/index.svelte

<script>
	import * as THREE from 'three';
	import * as SC from 'svelte-cubed';
</script>

<SC.Canvas>
	<SC.Mesh geometry={new THREE.BoxGeometry()} />
	<SC.PerspectiveCamera position={[1, 1, 3]} />
</SC.Canvas>

然后运行 npm run dev

image-20211201134014871

然后就报错了,通过查询,大概是因为没有设置一个 vite 选项。

打开 svelte.config.js ,加入关旭 vite ssr 的选项即可解决。

import adapter from '@sveltejs/adapter-auto';

/** @type {import('@sveltejs/kit').Config} */
const config = {
   
	kit: {
   
		adapter: adapter(),

		// hydrate the <div id="svelte"> element in src/app.html
		target: '#svelte'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值