{"id":15697155,"url":"https://github.com/ccbikai/ada","last_synced_at":"2025-05-08T22:23:27.287Z","repository":{"id":54404993,"uuid":"113284560","full_name":"ccbikai/ada","owner":"ccbikai","description":"基于 Webpack 和 Postcss 的前端打包工具","archived":false,"fork":false,"pushed_at":"2021-02-20T06:19:42.000Z","size":1977,"stargazers_count":6,"open_issues_count":3,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-04T23:06:44.390Z","etag":null,"topics":["postcss","scss","webpack"],"latest_commit_sha":null,"homepage":"https://ada.js.org/","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/ccbikai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-06T07:39:12.000Z","updated_at":"2021-02-20T06:26:22.000Z","dependencies_parsed_at":"2022-08-13T14:40:27.383Z","dependency_job_id":null,"html_url":"https://github.com/ccbikai/ada","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccbikai%2Fada","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccbikai%2Fada/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccbikai%2Fada/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccbikai%2Fada/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccbikai","download_url":"https://codeload.github.com/ccbikai/ada/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253155948,"owners_count":21862780,"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":["postcss","scss","webpack"],"created_at":"2024-10-03T19:13:09.570Z","updated_at":"2025-05-08T22:23:27.269Z","avatar_url":"https://github.com/ccbikai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ada (阿打)\n\n基于 Webpack 和 Postcss 的前端打包工具\n\n[![Travis branch](https://img.shields.io/travis/ccbikai/ada/master.svg)](https://travis-ci.org/ccbikai/ada)\n[![npm](https://img.shields.io/npm/v/ada.svg)](https://www.npmjs.com/package/ada)\n[![npm](https://img.shields.io/npm/dt/ada.svg)](https://www.npmjs.com/package/ada)\n[![GitHub stars](https://img.shields.io/github/stars/ccbikai/ada.svg?style=social\u0026label=Stars)](https://github.com/ccbikai/ada)\n\n## 起因\n\n工作中经常遇到一些零散活动需求，分散在不同项目，部分项目是后端维护的。每个项目写打包配置文件，维护太麻烦，就将所有配置写在了一个命令行工具，脱离业务代码。\n\n## 功能\n\n1. JavaScript 支持 ES6+ 的语法，构建代码支持 Uglify；\n1. CSS 支持 SCSS 语法，使用 Postcss 做代码优化，支持 Cssnano, Autoprefixer;\n1. 支持 React, Vue 打包;\n1. 支持实时刷新, React 和 Vue 可以热刷新;\n1. 支持自动生成雪碧图;\n1. 支持自动转换 px 到 rem;\n1. 支持 SourceMap，方便调试;\n1. 可以自定义 Webpack, Postcss 配置。\n\n## 安装\n\n```bash\nnpm i -g ada\n```\n\n## 使用帮助\n\n1. 运行 `ada`，启动开发服务器，默认端口 8080；\n1. 运行 `ada build`，构建生产环境包，默认目录 dist；\n1. src/icons 目录里边的 png 图片会自动生成雪碧图，scss 代码中可以只需引入自动生成的 sprites/sprites.scss 文件，然后使用 `@include sprite($logo);` 既可以使用雪碧图，`docs/src/scss/test.scss` 可做参考；\n1. 运行 `ada -h`，查看各参数功能。\n\n```bash\nada.js [cmd] [args]\n\n命令：\n  ada.js build  生成线上包\n  ada.js        打开开发服务器                                          [默认值]\n\n选项：\n  --debug                 调试模式                        [布尔] [默认值: false]\n  --host                  服务器监听IP            [字符串] [默认值: \"127.0.0.1\"]\n  --port                  服务器监听端口                   [数字] [默认值: 8080]\n  --cwd                   工作目录\n                               [字符串] [默认值: \"/Users/ccbikai/code/node/ada\"]\n  --src, --srcDir         源代码目录                    [字符串] [默认值: \"src\"]\n  --dist, --distDir       编译后代码目录               [字符串] [默认值: \"dist\"]\n  --public, --publicPath  静态资源CDN目录                  [字符串] [默认值: \"\"]\n  --hotVue                Vue 使用热刷新模式              [布尔] [默认值: false]\n  --hotReact              React 使用热刷新模式            [布尔] [默认值: false]\n  --noRem                 不自动转换 rem                  [布尔] [默认值: false]\n  --noPx                  自动转换 rem, 并且替换掉 px     [布尔] [默认值: false]\n  --analyze               开启性能分析模式                [布尔] [默认值: false]\n  --config, -c            自定义 webpack 配置              [字符串] [默认值: \"\"]\n  --postcss, -p           自定义 postcss 配置              [字符串] [默认值: \"\"]\n  -h, --help              显示帮助信息                                    [布尔]\n  -v, --version           显示版本号                                      [布尔]\n```\n\n## 示例代码\n\n查看源代码 docs 目录，里边内容使用 ada 构建。\n\n## 文件目录\n\n\u003e src 目录为源代码目录，可以自定义。\n\n```bash\n.\n├── index.html\n├── test.html\n├── test.react.html\n├── test.vue.html\n├── src\n│   ├── components\n│   │   ├── About.jsx\n│   │   ├── About.vue\n│   │   ├── Header.jsx\n│   │   ├── Header.vue\n│   │   ├── Home.jsx\n│   │   ├── Home.vue\n│   │   ├── Loading.jsx\n│   │   ├── Static.jsx\n│   │   └── Static.vue\n│   ├── hbs\n│   │   ├── helpers\n│   │   │   └── sex.js\n│   │   ├── main.hbs\n│   │   └── partials\n│   │       └── footer.hbs\n│   ├── icons\n│   │   ├── facebook.png\n│   │   ├── html5.png\n│   │   ├── instagram.png\n│   │   ├── twitter.png\n│   │   └── youtube.png\n│   ├── images\n│   │   ├── big.jpg\n│   │   └── logo.png\n│   ├── js\n│   │   ├── App.jsx\n│   │   ├── App.vue\n│   │   ├── actions\n│   │   │   └── index.js\n│   │   ├── common\n│   │   │   ├── index.js\n│   │   │   └── lazy.js\n│   │   ├── index.js\n│   │   ├── mutations\n│   │   │   └── index.js\n│   │   ├── reducers\n│   │   │   ├── index.js\n│   │   │   └── name.js\n│   │   ├── routes\n│   │   │   └── index.js\n│   │   ├── test.js\n│   │   ├── test.react.js\n│   │   ├── test.vue.js\n│   │   └── types\n│   │       └── index.js\n│   ├── scss\n│   │   ├── common\n│   │   │   └── layout.scss\n│   │   ├── index.scss\n│   │   ├── test\n│   │   │   ├── react.scss\n│   │   │   └── vue.scss\n│   │   └── test.scss\n│   └── sprites\n│       ├── sprites.png\n│       └── sprites.scss\n└── dist\n    ├── assets\n    │   ├── big.875f6f.jpg\n    │   └── sprites.a78a7f.png\n    ├── css\n    │   ├── index.css\n    │   ├── test.css\n    │   ├── test.react.css\n    │   └── test.vue.css\n    ├── js\n    │   ├── 0.bundle.js\n    │   ├── index.js\n    │   ├── react-import.bundle.js\n    │   ├── test.js\n    │   ├── test.react.js\n    │   ├── test.vue.js\n    │   ├── vue-about.bundle.js\n    │   └── vue-static.bundle.js\n    └── maps\n        ├── css\n        │   ├── index.css.map\n        │   ├── test.css.map\n        │   ├── test.react.css.map\n        │   └── test.vue.css.map\n        └── js\n            ├── 0.bundle.js.map\n            ├── index.js.map\n            ├── index.scss.js.map\n            ├── react-import.bundle.js.map\n            ├── test.js.map\n            ├── test.react.js.map\n            ├── test.scss.js.map\n            ├── test.vue.js.map\n            ├── vue-about.bundle.js.map\n            └── vue-static.bundle.js.map\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccbikai%2Fada","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccbikai%2Fada","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccbikai%2Fada/lists"}