{"id":13459182,"url":"https://github.com/baidu/san","last_synced_at":"2025-05-10T07:19:19.178Z","repository":{"id":37431618,"uuid":"66830040","full_name":"baidu/san","owner":"baidu","description":"A fast, portable, flexible JavaScript component framework","archived":false,"fork":false,"pushed_at":"2024-11-07T08:05:53.000Z","size":8767,"stargazers_count":4742,"open_issues_count":9,"forks_count":551,"subscribers_count":135,"default_branch":"master","last_synced_at":"2025-04-29T14:02:30.815Z","etag":null,"topics":["component","framework","frontend","javascript","mvvm","san"],"latest_commit_sha":null,"homepage":"https://baidu.github.io/san/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baidu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-08-29T09:27:23.000Z","updated_at":"2025-04-25T07:12:29.000Z","dependencies_parsed_at":"2023-12-04T09:22:07.175Z","dependency_job_id":"c8d689c9-b25b-4cd9-9afb-495bf6d1eac0","html_url":"https://github.com/baidu/san","commit_stats":{"total_commits":2333,"total_committers":72,"mean_commits":32.40277777777778,"dds":0.4003429061294471,"last_synced_commit":"805d1d1397dcb59f45dc3b58c3e0928e6bb0dec4"},"previous_names":["ecomfe/san"],"tags_count":150,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fsan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fsan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fsan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fsan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baidu","download_url":"https://codeload.github.com/baidu/san/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251536597,"owners_count":21605200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["component","framework","frontend","javascript","mvvm","san"],"created_at":"2024-07-31T09:01:09.067Z","updated_at":"2025-05-07T22:28:10.220Z","avatar_url":"https://github.com/baidu.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://baidu.github.io/san/\"\u003e\n        \u003cimg src=\"https://baidu.github.io/san/img/logo-colorful.svg\" alt=\"Logo\" height=\"220\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSAN\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n一个快速、轻量、灵活的 JavaScript 组件框架\n\u003cbr\u003e\nA fast, portable, flexible JavaScript component framework.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/san\"\u003e\u003cimg src=\"http://img.shields.io/npm/v/san.svg?style=flat-square\" alt=\"NPM version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/san\"\u003e\u003cimg src=\"https://img.shields.io/github/license/baidu/san.svg?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/baidu/san/actions\"\u003e\u003cimg src=\"https://github.com/baidu/san/workflows/CI/badge.svg\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://coveralls.io/github/baidu/san?branch=master\"\u003e\u003cimg src=\"https://img.shields.io/coveralls/github/baidu/san.svg?style=flat-square\" alt=\"Coverage Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/baidu/san/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/baidu/san.svg?style=flat-square\" alt=\"Issues\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://baidu.github.io/san/en/index.html\" target=\"_blank\"\u003eHomePage\u003c/a\u003e\n  \u003ca href=\"https://baidu.github.io/san/\" target=\"_blank\"\u003e网站\u003c/a\u003e\n\u003c/p\u003e\n\n\n\n\n## 安装(Install)\n\nNPM:\n\n```\n$ npm i san\n```\n\nCDN:\n\n```html\n\u003cscript src=\"https://unpkg.com/san@latest\"\u003e\u003c/script\u003e\n```\n\n[发布文件说明(Dist Files Information)](https://github.com/baidu/san/tree/master/dist)\n\n\n## 快速开始(Quick Start)\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\n\u003chead\u003e\n    \u003ctitle\u003eQuick Start\u003c/title\u003e\n    \u003cscript src=\"https://unpkg.com/san@latest\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n    \u003cscript\u003e\n        const MyApp = san.defineComponent({\n            template: `\n                \u003cdiv\u003e\n                    \u003cinput type=\"text\" value=\"{=name=}\"\u003e\n                    \u003cp\u003eHello {{name}}!\u003c/p\u003e\n                \u003c/div\u003e\n            `\n        });\n\n        let myApp = new MyApp({\n            data: {\n                name: 'San'\n            }\n        });\n        myApp.attach(document.body);\n    \u003c/script\u003e\n\u003c/body\u003e\n\n\u003c/html\u003e\n```\n\n## 示例(Examples)\n\n- [Online Examples](https://baidu.github.io/san/example/)\n- [Todos(AMD)](https://github.com/baidu/san/tree/master/example/todos-amd)\n- [Todos(ESNext)](https://github.com/baidu/san/tree/master/example/todos-esnext)\n- [RealWorld App(with store)](https://github.com/ecomfe/san-realworld-app)\n\n## 文档(Document)\n\n- [开始(Start)](https://baidu.github.io/san/tutorial/start/)\n- [教程(Tutorial)](https://baidu.github.io/san/tutorial/setup/)\n- [API](https://baidu.github.io/san/doc/api/)\n- [ANode](https://github.com/baidu/san/blob/master/doc/anode.md)\n- [APack](https://github.com/baidu/san/blob/master/doc/anode-pack.md)\n\n\n## 周边(Companions)\n\n|                | 说明(Description)                          |\n| --------------------- | ------------------------------- |\n| [san-devtools](https://github.com/baidu/san-devtools) | 调试应用的工具和扩展\u003cbr\u003eDevelopment tools for debugging applications |\n| [san-router](https://github.com/baidu/san-router) | 支持 hash 和 html5 模式的 Router\u003cbr\u003eSPA/MPA Router |\n| [san-store](https://github.com/baidu/san-store) | 应用状态管理套件\u003cbr\u003eApplication States Management |\n| [san-update](https://github.com/baidu/san-update) | Immutable的对象更新库\u003cbr\u003eImmutable Data Update |\n| [san-composition](https://github.com/baidu/san-composition) | 组合式 API\u003cbr\u003eComposition API |\n| [san-ssr](https://baidu.github.io/san-ssr/) | 服务端渲染框架与工具库\u003cbr\u003eSSR framework and utils |\n| [santd](https://ecomfe.github.io/santd/) | [Ant Design](https://ant.design/) 风格的组件库\u003cbr\u003eComponents Library following the [Ant Design](https://ant.design/) specification |\n| [san-mui](https://ecomfe.github.io/san-mui/) | [Material Design](https://www.material.io/) 风格的组件库\u003cbr\u003e[Material Design](https://www.material.io/) Components Library |\n| [san-xui](https://ecomfe.github.io/san-xui/) | 百度云控制台风格的组件库\u003cbr\u003eA Set of UI Components that widely used on Baidu Cloud Console |\n| [sanny](https://github.com/searchfe/sanny) | VSCode 插件\u003cbr\u003eVSCode extension for SAN |\n| [san-cli](https://github.com/ecomfe/san-cli) | 帮助快速搭建应用的命令行工具\u003cbr\u003eA CLI tooling for rapid development |\n| [san-loader](https://github.com/ecomfe/san-cli/tree/master/packages/san-loader) | 支持 sfc 的 Webpack loader\u003cbr\u003eWebpack loader for single-file components |\n| [san-factory](https://github.com/baidu/san-factory) | 组件工厂能帮助你在不同环境下更灵活的装配组件\u003cbr\u003eComponent register and instantiation |\n| [san-anode-utils](https://github.com/ecomfe/san-anode-utils) | [ANode](https://github.com/baidu/san/blob/master/doc/anode.md) 处理工具库\u003cbr\u003eUtil Functions for [ANode](https://github.com/baidu/san/blob/master/doc/anode.md) |\n| [san-test-utils](https://github.com/ecomfe/san-test-utils) | 单元测试工具库\u003cbr\u003eThe unit testing utility library |\n\n## 变更历史(ChangeLog)\n\nPlease visit document [ChangeLog](https://github.com/baidu/san/blob/master/CHANGELOG.md)\n\n\n## License\n\nSan is [MIT licensed](./LICENSE).\n\n## 特别感谢(Special Thanks)\n\n![文心快码源力计划标志](https://comate.baidu.com/images/powersource/powersource-light-zh-5.png)\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaidu%2Fsan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaidu%2Fsan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaidu%2Fsan/lists"}