{"id":25656212,"url":"https://github.com/daxingplay/css-combo","last_synced_at":"2025-04-19T12:14:28.063Z","repository":{"id":142101694,"uuid":"4389202","full_name":"daxingplay/css-combo","owner":"daxingplay","description":"combo css which import other css","archived":false,"fork":false,"pushed_at":"2023-05-13T15:05:14.000Z","size":421,"stargazers_count":67,"open_issues_count":10,"forks_count":30,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-03T09:39:13.265Z","etag":null,"topics":["combo-css","css","import"],"latest_commit_sha":null,"homepage":null,"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/daxingplay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2012-05-21T02:20:45.000Z","updated_at":"2023-05-13T15:00:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9105ae5-a163-430b-a01e-85db0086e4fa","html_url":"https://github.com/daxingplay/css-combo","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daxingplay%2Fcss-combo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daxingplay%2Fcss-combo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daxingplay%2Fcss-combo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daxingplay%2Fcss-combo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daxingplay","download_url":"https://codeload.github.com/daxingplay/css-combo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249386666,"owners_count":21262474,"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":["combo-css","css","import"],"created_at":"2025-02-23T22:22:14.880Z","updated_at":"2025-04-19T12:14:28.041Z","avatar_url":"https://github.com/daxingplay.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# css-combo\n\n\n[![Build Status](https://secure.travis-ci.org/daxingplay/css-combo.png)](http://travis-ci.org/daxingplay/css-combo)\n\n[![NPM version](https://badge.fury.io/js/css-combo.png)](http://badge.fury.io/js/css-combo)\n\n## Introduction\ncombo css which import other css\n对于js，目前已经有比较成熟的模块化方案，比如seajs、kissy，但是css方面呢，一般是通过less进行编译打包的。less官方对于less文件中的@import \"xxx.css\"是不会打包进来的，这也是考虑到本身就是有需求要这样引用css，而如果你@import \"xxx.less\"，less打包工具就会分析这些引入的模块，进行打包。\ncss-combo就是借鉴了这种思想，实现了css模块化。即在入口文件中@import其他模块，然后对入口文件进行打包的时候，该工具会分析import的文件，把这些文件打包进来。\n\n对于CSS模块化，欢迎大家看我这篇博文：(http://www.techcheng.com/study/css/introduce-css-combo.html)\n\n## Usage\n\n首先需要npm安装一下：\n\n    npm install -g css-combo\n\n### 命令行使用 ###\n\n命令行下，可以先进入需要打包的文件所在目录，然后\n\n    csscombo xxx.source.css xxx.combo.css\n\n第一个参数是源文件名，第二个参数是打包之后的文件名\n\n其他选项有：\n\n* -s: silent, 静默模式，表示不输出任何信息\n* -ic: inputCharset, 可以指定输入文件的编码\n* -oc： outputCharset, 可以指定输出文件的编码\n\n### 在NodeJS里面使用 ###\n\n你也可以在自己的打包工具中调用css combo，和其他npm包一样：\n\n    var CSSCombo = require('css-combo');\n    CSSCombo.build(src, dest, cfg, function(err){ callback(); });\n\n* src 入口文件的地址\n* dest 输出目录或者输出的完整路径（含文件名，推荐），可以使用相对路径\n* cfg 参数可以配置以下选项：\n\n    * inputEncoding：{String} 输入文件编码，可选，默认检测入口文件中的@charset设置。如果入口文件没有设置@charset，那么最好设置本选项\n    * outputEncoding：{String} 输出文件编码，可选，默认UTF-8\n    * exclude：{Array} 黑名单正则数组，可选，默认空\n    * compress: {Boolean} 是否压缩，默认为true，处理规则同YUICompressor\n    * debug: {Boolean} 是否打印日志\n    * paths: {Array} `@import`额外查找的路径。\n    * native2ascii: {Boolean} 是否替换中文为Unicode字符，默认为true\n    * replaceFont: {Boolean} 是否把中文的字体名称替换成英文名称，默认为true，此选项依赖上面的选项，即必须native2ascii配置为true才有效。强烈建议各位开发者在书写CSS的时候就使用英文名称，比如微软雅黑，写成'Microsoft YaHei'\n\n### 在grunt中使用 ###\n\nCSS Combo配套的grunt插件：https://github.com/daxingplay/grunt-css-combo\n\n## TODO\n\n* 增加目录打包形式\n\n## ChangeList\n\n* 0.6.0：支持webp类型的图片格式\n* 0.3.7：修复无法解析CDN Combo类型的URL的问题\n* 0.3.6：修复单个src配置多个font路径的问题，修复font里面含有?的问题\n* 0.3.5：修复issue #26\n* 0.3.4：修复issue #22\n* 0.3.3：增加替换中文的字体名称为英文名称的方法\n* 0.2.2：修正打包之后输出文件编码问题\n* 0.2.7：build参数更改，提供更多形式的输入，去掉部分log信息\n\n## License\ncss-combo 遵守 \"MIT\"：https://github.com/daxingplay/css-combo/blob/master/LICENSE.md 协议\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaxingplay%2Fcss-combo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaxingplay%2Fcss-combo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaxingplay%2Fcss-combo/lists"}