最近接触前端开发的技术比较多、基本情况大致是这样子的、最开始从C#后端程序两眼一抹黑就开始接触前台技术、完全不懂Js和css、期间发生了很多常见的错误、
先说些题外话,然后马上开始今天的主旨内容.
1.纯html+一般性处理文件(.ashx文件)
<0. 这种方式方便移植和减少后台代码处理,很适合复用。场景:《1.电脑,手机,app都需开发时》,《2.需要特定语言,如jsp转php,.net》
<1. 登陆的验证和数据不能够顺序进行(js 方式为异步、要保证每次请求页面前都验证后台session是否保存有用户信息)【asp,jsp 写个继承页面可以很轻松的验证登陆的情况】.
<2.后台swichCase语句太多繁杂(用反射错误不可控制、且速度比较慢,将在其后陆续找到最优方式。建议最后不要偷懒把大段代码处理写到if else中,改的时候要麻烦死)
#region 接收器
public void ProcessRequest(HttpContext context)
{
InitHttpContext(context);
object user = HttpContext.Current.Session["WeiXin"];
if (user == null && HttpContext.Current.Request.UrlReferrer.ToString().ToLower().IndexOf("login.html") < 0)
{
HttpContext.Current.Response.StatusCode = 0x12e; //状态码为302
HttpContext.Current.Response.RedirectLocation="login.html";
// Response.Write(Base.JsonInspect());
}
else
{
//解析http传输方式
switch (context.Request.HttpMethod)
{
//post数据处理
case "POST":
DoPost();
break;
//get数据处理
case "GET":
DoGet();
break;
//head数据处理
case "HEAD":
DoHead();
break;
default:
break;
}
}
}
#endregion
<3.为了方便移植和复用纯post,get数据对多数据(复杂表单数据)会很复杂。(下拉菜单数据建议统一写成js插件、特别是级联筛选).
2.由以上问题引出来一个重大问题就是兼容性处理的问题、这是做前端最头疼的问题、比较好的是boostrap框架帮我解决了许多问题、(具体了解可搜索改框架http://www.bootcss.com/),但是如果我写好一个系统,需要给不同的人,风格要求不一致、特效有所不同、需要css也有类似多态的功能,不再是再去写一道theme.css(这种方式类似于覆盖式的打补丁)、就引入了今天要自己要学习的内容.如何用less生成自己积累的css样式和js.
1、nodeJs环境
2、grunt
是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:
① 压缩文件
② 合并文件
③ 简单语法检查
3、安装grunt
npm install -g grunt-cli
有了基础环境之后,可以开始进行less以及其规范的学习了,在boostrap框架的下载内容中可以看到有个自定义样式的设置页面、其实其原理差不都就是less编写好规范之后适当改变其变量就产生了不同效果的css样式、但其样式名称未发生改变,意味着可以在css样式中产生继承和扩展的效果、
后续内容逐步更新。