用途:在无框架条件下创建或修改原生 HTML/CSS/JavaScript 代码,采用模块化 ESM,保持代码干净可读。
主要能力与约束:仅用 HTML/CSS/JS,不使用框架;JS 必须模块化(ESM);偏好小而专注的函数与纯工具函数;避免全局状态。适用于用户要求原生 JS、纯 HTML/CSS/JS、静态页面、无 React/Angular/Vue,或直接用 DOM 构建小型 UI 组件(模态框、标签页、下拉菜单、表单校验),以及移除框架依赖、降低 JS 复杂度的重构。
结构约定:src/ 放源码,public/ 放字体图片等静态文件,index.html 为入口,main.js 为 JS 入口,src/css/global.css 为全局样式,src/components/ 放组件,src/modules/ 放可复用与工具模块。每个模块只做一件事。文件名约定:components 用 PascalCase 且类名与文件名一致,CSS 文件同理;modules 用 camelCase 且函数名与文件名一致。
HTML 与 DOM:使用语义标签,避免 div 堆砌;用 CSSStyleSheet API 创建样式,优先 import attributes,其次 new CSSStyleSheet(),再次字符串模板;用 querySelector*() 而非 getElement*();用 setHTMLUnsafe()/getHTML() 而非 innerHTML;新增元素优先 append()、prepend()、before()、after(),否则用 insertAdjacent*() 而非 appendChild()。
CSS:命名简单可预测,优先 @scope 而非 BEM;用 CSS 变量管理主题与常用数据;默认用 flex/grid 保持响应式;用 :where() 降低优先级而非 !important;用 CSS 嵌套组织相关块。
JavaScript:使用 type="module" 与显式导入导出;优先命名导入;纯工具与小函数;列表/动态 UI 用事件委托;显式处理错误;用小型类方法拆分逻辑;字符串模板前加 /* html /、/ css / 或 / svg */ 前缀。
输出与验证:避免缺失导入或路径、避免 TODO 占位;改动保持小、可测试、增量。完成后确保无控制台错误/警告、所有资源路径可解析、检查导入项是否被使用、功能可键盘操作且无需框架运行时。建议脚本:添加 npm run dev 使用 servor 本地服务器开发。
限制:资料未提供具体版本、浏览器兼容范围、性能指标或收费信息。