Nodejs in Visual Studio Code 13.构建单页应用Scrat示例挖一挖
1.开始
Scrat作者说要搞个很碉堡的示例,果然就搞出来了,如果要学习并使用Scrat,可以从官方示例开始,简直太方便了。
2.Scrat示例
目录

component_modules : 公共组件
components : 系统级组件
server : 一些服务,不用管
views : Scrat.js,Index.html等Scrat框架内容
component.json : Scrat生态组件配置文件
fis-conf.js : FIS配置文件
package.json : Node配置文件
系统级组件独立成一个文件夹,包括js,css,handlebars(什么是handlebars?handlebars是一个template,构建时作为一个tpl属性存储在js文件中,然后渲染的时候会动态读取数据最终成为我们看到的HTML).
骨架的渲染
通过Site.js与site.handlebars中的代码实现的如下
menu.render,footer.render,好熟悉的节奏,Express视图引擎就是这么写的.

骨架的构成
打开scrat/components/site/site.handlebars,系统由site-menu,site-content,site-footer三部分构成。
<div class="site transition-all">
<div class="site-menu transition-all" id="site-menu"></div>
<div class="site-content transition-all">
<div id="site-views" class="site-views">
{{#each views}}
<div class="site-view" data-page="{{@key}}"></div>
{{/each}}
</div>
</div>
<div id="site-footer" class="site-footer transition-all"></div>
</div>


Require
require表示引用依赖的文件

each和extend是通过scrat-team-each,scrat-team-extend下的component.json的name字段对应上的
{
"name": "each",
"repo": "scrat-team/each",
"description": "A forEach shim for both array and object",
"version": "0.1.0",
"keywords": ["each", "forEach"],
"scripts": ["index.js"],
"dependencies": {
"scrat-team/type": "0.1.0"
},
"license": "MIT"
}
3.结束
接下来结合官网的示例与说明,已经具备将自己的.Net前端项目重构为scrat项目的东风了,然后可能会有坑,先试试吧。
单页HTML技术的缺陷:可能会导致你的网站无法被爬取,我想这也是为什么用Blink技术的是twitter、facebook之流,这些站点大概不想被Google爬取内容然后卖广告吧。
Nodejs in Visual Studio Code 13.构建单页应用Scrat示例挖一挖的更多相关文章
- Nodejs in Visual Studio Code 12.构建单页应用Scrat实践
1.开始 随着前端工程化深入研究,前端工程师现在碉堡了,甚至搞了个自己的前端网站http://div.io/需要邀请码才能注册,不过里面的技术确实牛.距离顶级的前端架构,目前博主应该是far away ...
- Nodejs in Visual Studio Code 11.前端工程优化
1.开始 随着互联网技术的发展,企业应用里到处都是B/S设计,我有幸经历了很多项目有Asp.Net的,有Html/js的,有Silverlight的,有Flex的.很遗憾这些项目很少关注前端优化的问题 ...
- Nodejs in Visual Studio Code 10.IISNode
1.开始 Nodejs in Visual Studio Code 08.IIS : http://www.cnblogs.com/mengkzhaoyun/p/5410185.html 参考此篇内容 ...
- Nodejs in Visual Studio Code 14.IISNode与IIS7.x
1.开始 部署IISNode环境请参考:Nodejs in Visual Studio Code 08.IIS 部署Nodejs程序请参考:Nodejs in Visual Studio Code 1 ...
- Nodejs in Visual Studio Code 01.简单介绍Nodejs
1.开始 作者自己:开发人员,Asp.Net , html / js , restful , memcached , oracle ,windows , iis 目标读者:供自己以后回顾 2.我看No ...
- Nodejs in Visual Studio Code 04.Swig模版
1.开始 设置Node_Global:npm config set prefix "C:\Program Files\nodejs" Express组件:npm install e ...
- Nodejs in Visual Studio Code 07.学习Oracle
1.开始 Node.js:https://nodejs.org OracleDB: https://github.com/oracle/node-oracledb/blob/master/INSTAL ...
- Nodejs in Visual Studio Code 05.Swig+Bootstrap
1. 开始 准备好Express+Swig的练习代码:https://github.com/Mengkzhaoyun/nodepractise 准备好AdminLTE后台管理模版:https://ww ...
- Nodejs in Visual Studio Code 06.新建Module
1.开始 Node.js:https://nodejs.org 2.Moudle js编程中,由于大家可以直接在全局作用域中编写代码,使开发人员可以很容易的新建一个全局变量或这全局模块,这些全局变量或 ...
随机推荐
- 很好用的Tab标签切换功能,延迟Tab切换。
一个网页,Tab标签的切换是常见的功能,但我发现很少有前端工程师在做该功能的时候,会为用户多想想,如果你觉得鼠标hover到标签上,然后切换到相应的内容,就那么简单的话,你将是一个不合格的前端工程师啊 ...
- Weex 样式
1.盒型 width height padding padding-left padding-right padding-top padding-bottom margin margin-left m ...
- ResultSetMetaData rsmd = rs.getMetaData()是什么意思?
ResultSetMetaData rsmt=rs.getMetaData(); 得到结果集(rs)的结构,比如字段数.字段名等.使用rs.getMetaData().getTableName(1)) ...
- 借用Toad 生成表空间的使用量图示
图示产生方法 图示(tablespace uage)如下
- TOM大师脚本-show space 多个版本,谢谢大牛们
示例一 该脚本需区分 对象的管理方式是 自动还是 手动, 对手动管理方式 的表显示很全面 SQL> exec show_space_old('MAN_TAB','DEV','TABLE'); F ...
- WebService开发步骤
WebService原理什么的百度很多我就说了,无非就是提供一个接口放在服务端,客户端实现这个接口就可以拿到自己需要的东西. 现在简单说一下用myEclipse来实现服务端和客户端.另一种WebSer ...
- hdoj 2041 超级阶梯
代码: #include <stdio.h>int main(){int n;int i;int m;int count;int dp[50];while(scanf("%d&q ...
- 图的遍历(bfs 和dfs)
BFS的思想: 从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1.V2.……Vn,然后依次访问与V1.V2……Vn相邻且未被访问的顶点.如此继续,找到所要找的顶点或者遍历完整个 ...
- Cocos_Code_Ide学习(一):理解Cocos Lua Project下的frameworks的proj.win32
第一次写,不知道有没有用,有不对的地方,接受大家的批评.勿喷,谢谢. 1.首先,创建工程 ------------------------------------------------------- ...
- windowsphone 中CollectionViewSource和ObservableCollection的使用
功能描述:一级菜单省份 联动显示省份下的城市 直接上代码 public class City { public string Num { get; set; } public string Name ...