Clam是什么
clam是一套让你更容易创建、开发、调试、发布以及维护前端项目的开发环境。clam内置一个前端开发服务器,可以理解为一个专为前端开发者增强的Apache服务器。
安装
在安装好nodejs的任意平台上.
初始化项目
初始化项目目录,建立工程目录结构
$mkdir testPrj
$cd testPrj
$clam init
testPrj目录下即生成clam标准项目目录。
标准项目目录的含义及其设计参考请参考
配置项目信息
$sudo clam ui
在界面中配置一些列项目约定参数。
- cdn路径
项目最重要的参数。含义为该项目上线后,assets文件所在的线上目录。必须以全路经的形式配置,默认情况下设置为http://localhost/assets
- 编码
项目页面,脚本,样式的输出编码格式。此处配置影响生成页面的在调试期访问页面浏览器所获得数据流的编码格式,build后的文件编码格式以及生成页面框架的元信息。
创建页面和模块
在管理页面中,创建页面,指定页面所使用的库。页面的扩展名必须为html。clam在支持标准SSI的基础上,支持更加独立的模块。支持将脚本和样式引用定义在模块内。这些定义在模块内的样式和脚本在实际访问时内容会被统一提前到页头或者页尾。
本地combo
将cdn域名a.tbcdn.cn指向本地127.0.0.1. clam可灵活处理各种combo语法。推荐在编码过程中使用简单文件引入方式。
Json接口模拟。
目前仅支持配置文件方式。配置项目目录/.clam/project.json
,增加json段描述。
"json": [{
"url": "/test/test.htm", //需要处理的url
"enabled": "local", //转发到远程服务器或者本地处理
"remote": "jipiao.trip.taobao.com", //远程服务器
"local": "test.js" //本地处理脚本
}]
本地处理脚本放置在项目目录/.clam/json
目录下。本例中test.js
指向项目目录/.clam/json/test.js
test.js支持定义一个传递http reaquest 和 http response对象的处理函数。函数体如下:
exports = module.exports = function(req, resp){
console.log('laile');
resp.end('hello');
return true;
}
构建
支持两种模式构建,项目级和页面级。