新人疑惑
假如有这么个项目,后端所有接口只提供json数据,不渲染页面。页面全靠前端利用js进行渲染,交互。
除了用angularjs和react这些高端的框架外,还有什么比较好的方案能应付这种需求?
PHPz2017-04-10 16:53:49
vue.js算是比较轻量化的小框架。如果自己写的话可以:
写个调用厚端接口的ajax函数,通过传入的不同参数, 得到不同的后端json数据,然后调用指定回执函数。
function getAPI(type, callback){
switch( type ){
// 得到不同的JSON数据
}
callback(); // 指定回执函数
}
通过不同的callback函数来渲染相对的页面。当然如果不用框架就要写很多页面元素。
getAPI('home_page', setUpHomePage);
getAPI('contact_page', setUpContactPage);
getAPI('about_page', setUpAboutPage);
var setUpHomePage = function(){
// 自定义渲染的程序
};
var setUpContactPage = function(){
// 自定义渲染的程序
};
var setUpAboutPage = function(){
// 自定义渲染的程序
};
当然如果想高效点儿可以用requireJS来帮助一下。
高洛峰2017-04-10 16:53:49
两种情况:
一、如果不考虑SEO,纯前端渲染。
方法多了去了....
backbone + template (路由+模板): MVC方案,易学易通
avalon\angular 易学易懂,MVVM兼容方案
ember\knockout\dojo 等mvmm不兼容方案
polymer webcomponents不兼容方案
以上这些方案的学习成本和知识面都不宽,两三天可以开始写小功能
二、考虑SEO
目前好像只能在服务器搭建一个前端渲染服务层,一般用nodejs实现同构。
框架没得选了,只有react。
技术方案: react + redux + nodejs + koa\express
大一点的项目基本都要考虑SEO,所以前后分离的话建议第二种方案吧。