博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zeta.js之内置服务
阅读量:6585 次
发布时间:2019-06-24

本文共 1982 字,大约阅读时间需要 6 分钟。

前言

Zeta.js 是一款为node打造的轻量级后端框架,引入了许多angular的概念,可以让你以一种不同于express的更有层次的方式编写后端代码。这里是Zeta的中文文档。

概览

Zeta.js提供了一些十分常见的服务给后端web开发者们使得工作更加简单方便。在接下来的内容里,我们将分别介绍这些内置服务。

渲染

渲染服务既可以用于字符串也可以用于文件,目前还只支持html文本和swig模板,但是你可以十分方便地扩展这一服务因为它是使用Provder实现的。

渲染字符串

你需要显式地使用Provider $render来实现字符串的渲染,字符串里也可以包含变量。

jsdemo.get('/',function($scope,$render){    $scope.end($render.text('

'),{ msg:"hello,world" });});//demo is a module

渲染文件

我们暴露出一个简易的函数接口供html或swig文件的渲染。

jsdemo.get('/',function($scope){    $scope.render('/index.swig',{        title:'Welcome'    })});

Cookie

Cookie服务在章节工厂里已经提到过,而实际上它也确实是用Factory实现的。

提取cookie

jsvar user=$cookie.val('user');//return a cookie named user

设置cookie

js//reset the value of cookie$cookie.val('user',Json.stringfy({name:'bevis'}));//initialize the cookie$cookie.val('user','bevis',{    path:'/',    maxAge:1000});//set value of cookie & cookie $cookie.val('user','bevis','maxAge',10000);//write the cookie to client$cookie.write($scope);//a complete exampledemo.get('/',function($scope,$cookie){    $cookie.val('user','bevis',{        path:'/user',        maxAge:10000    });    $cookie.write($scope);    $scope.send('').end();});

表单

我们使用大名鼎鼎的formidable插件来处理表单提交,无论是post方法提交的json对象还是文件上传的form-data,都可以处理。工厂$form会返回一个formidable中的IncomingForm对象,其余的你可以参照formidable的文档。

jsdemo.post('/',function($scope,$form){    .....});//$form is a IncomingForm object of formidable

静态服务器

静态服务器功能返回与请求路径一致的静态文件如果你并没有为这些路径指定处理函数。

开启服务

jsdemo.config('public',__dirname+'/public');demo.load();demo.any('static');

举个例子,当你发起对于路径'/img/avatar.jpg'的请求时,客户端将得到文件路径为'/public/img/avatar.jpg'的图像。如果文件不存在的话,如果你设置了的话,你应该会得到一个404。对于子目录的请求也支持,同时你可以省略路径最末端的'/'字符。

Index的情况

静态服务器会自动查找由请求指定的目录下名为index有特定后缀的文件,后缀可以由你设定。目前支持的后缀有html,htm及md三种。设置方法如下。

jsdemo.config.of('built-in').of('static-server').val('indexFile',['.html','.md']);//allow index file with suffix as html or md//you get /views/index.html when request for path /views

另外,后缀名的优先级同他们在配置数组里的顺序一致,以上文为例,html文件优先于md文件,二者同时存在时会返回html文件。

转载地址:http://ypano.baihongyu.com/

你可能感兴趣的文章
java多线程的3种写法
查看>>
整理了一份招PHP高级工程师的面试题(转)
查看>>
软件安全性服务
查看>>
hdu3592 World Exhibition --- 差分约束
查看>>
python spark 决策树 入门demo
查看>>
web服务器、wsgi、应用
查看>>
将spring源码导入到eclipse中
查看>>
Mongodb部署
查看>>
Qt中图像的显示与基本操作
查看>>
网络数据包信息收集工具ferret-sidejack
查看>>
全面解析Activity的生命周期
查看>>
Win8 Metro(C#)数字图像处理--2.51图像统计滤波算法
查看>>
GlusterFS分布式存储系统中更换故障Brick的操作记录
查看>>
js与ios桥接使用WebViewJavascriptBridge简单理解
查看>>
AutoMapper的使用
查看>>
【Python】将python3.6软件的py文件打包成exe程序
查看>>
Debian的定时执行命令Crontab
查看>>
Scala进阶之路-正则表达式案例
查看>>
一起谈.NET技术,.NET 中的正则表达式
查看>>
treap(树堆)
查看>>