stencil示例

stencil是一个web components开发框架。

pnpm create stencil

my.counter.tsx:

import { Component, h, Prop } from "@stencil/core";

@Component({
	tag: "my-counter",
	styleUrl: "my-counter.css",
	shadow: true,
})
export class MyCounter {
	@Prop({ mutable: true }) count = 0;

	render() {
		const styles = {
			color: "red",
		};
		if (this.count >= 0) {
			styles.color = "green";
		} else {
			styles.color = "red";
		}

		return (
			<div>
				<button
					onClick={() => {
						this.count--;
					}}
					type="button"
				>
					-
				</button>
				The counter is: <span style={styles}>{this.count}</span>
				<button
					onClick={() => {
						this.count++;
					}}
					type="button"
				>
					+
				</button>
			</div>
		);
	}
}
pnpm build
bun build dist/components/my-counter.js --outdir public/ --minify

经过处理后的my-counter.js可以直接导入astro中使用。

posted @   卓能文  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示