npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@pardnchiu/quickui

v0.6.17

Published

QuickUI is a lightweight frontend framework built on pure JavaScript and native APIs. Supports data binding, i18n support, event binding, conditional rendering, and loop rendering.

Readme

QuickUI: 輕量化前端框架

[!NOTE] (原名:PDQuickUI,自 0.6.0 版本起更名為 QuickUI)

QuickUI 是一個基於純 JavaScript 和原生 API 的輕量級前端框架,支持數據綁定、國際化 (i18n)、事件綁定、條件渲染以及循環渲染功能。

tag size npm download jsdeliver

核心特色

高效虛擬 DOM

  • 透過精準的差異比對算法實現高效 DOM 更新
  • 智慧屬性更新系統,只更新發生變化的值
  • 智能子節點對比機制,最小化 DOM 操作

響應式數據處理

  • 深度數據監控系統,確保數據變更即時反映
  • 數據變更時自動更新 UI,無需手動操作
  • 智慧緩存系統避免不必要的重複渲染
  • 支援巢狀數據結構的響應式處理

進階模板功能

  • 內建多語系(i18n)支援,輕鬆實現國際化
  • 支援動態載入模板並非同步處理
  • 強大的表達式系統,支援計算、日期和文字處理
  • 完整的指令系統實現靈活的 DOM 操作

效能優化設計

  • 圖片和 SVG 內容採用懶加載技術,提升載入速度
  • 極小的檔案體積且無外部依賴
  • 智慧事件委派和資源清理機制,優化記憶體使用

文件

安裝方式

從 npm 安裝

npm i @pardnchiu/quickui

從 CDN 引入

引入 QuickUI 套件

<!-- 0.6.0 版本以上 -->
<script src="https://cdn.jsdelivr.net/npm/@pardnchiu/quickui@[VERSION]/dist/QuickUI.js"></script>

<!-- 0.5.4 版本以下 -->
<script src="https://cdn.jsdelivr.net/npm/pdquickui@[VERSION]/dist/PDQuickUI.js"></script>

Module 版本

// 0.6.0 版本以上
import { QUI } from "https://cdn.jsdelivr.net/npm/@pardnchiu/quickui@[VERSION]/dist/QuickUI.esm.js";

// 0.5.4 版本以下
import { QUI } from "https://cdn.jsdelivr.net/npm/pdquickui@[VERSION]/dist/PDQuickUI.module.js";

使用方法

初始化 QUI

const app = new QUI({
    id: "", // 指定渲染元素
    data: {
        // 自訂 DATA
    },
    event: {
        // 自訂 EVENT
    },
    when: {
        beforeRender: function () {
            // 停止渲染
        },
        rendered: function () {
            // 已渲染
        },
        beforeUpdate: function () {
            // 停止更新
        },
        updated: function () {
            // 已更新
        },
        beforeDestroy: function () {
            // 停止銷毀
        },
        destroyed: function () {
            // 已銷毀
        }
    }
});

模板渲染

  • index.html
    <body id="app"></body>
    <script>
        const test = new QUI({
            id: "app",
            data: {
                hint: "hint 123",
                title: "test 123"
            },
            render: () => `
                "{{ hint }}",
                h1 {
                    style: "background: red;", 
                    children: [ 
                        "{{ title }}"
                    ]
                }`
        })
    </script>
  • result
    <body id="app">
        hint 123
        <h1 style="background: red;">test 123</h1>
    </body>

屬性概覽

文字與內容

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | {{ value }} | 動態文字內容 | <p>{{ userName }}</p> 顯示使用者名稱 | | :html | 原始 HTML 插入 | <div :html="richContent"></div> 渲染格式化內容 |

模板載入

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :path | 外部模板載入 | <temp :path="'./templates/header.html'"></temp> 載入頁首元件 |

列表與迭代

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :for | 陣列/物件迭代 | <li :for="item in items">{{ item.name }}</li> 渲染列表項目 |

條件渲染

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :if | 條件顯示 | <div :if="isLoggedIn">歡迎!</div> | | :else-if/:elif | 次要條件 | <div :elif="isPending">載入中...</div> | | :else | 預設內容 | <div :else>請登入</div> |

表單綁定

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :model | 雙向資料綁定 | <input :model="userInput"> 與資料同步 |

樣式與動畫

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :animation | 過渡效果 | <div :animation="fade-in">內容</div> | | :[css] | 動態樣式 | <div :background-color="bgColor">樣式內容</div> |

動態屬性

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | :[attr] | 動態屬性 | <img :src="imageUrl" :alt="imageDesc"> |

事件處理

| 屬性 | 使用場景 | 範例 | |-----------|----------|---------| | @[event] | 事件監聽器 | <button @click="handleClick">點擊我</button> |

授權條款

本專案採用類 MIT 授權,但僅提供混淆後的程式碼:

  • 與 MIT 相同:可自由使用、修改、再散布,包含商業用途
  • 主要差異:預設僅提供混淆版程式碼,原始碼需另外購買
  • 授權內容:必須保留原始版權聲明 (與 MIT 相同)

詳細條款與條件請參閱軟體使用協議

開發者


©️ 2023 邱敬幃 Pardn Chiu