f2e-server 专为前端打造的开发服务器

程序名称:f2e-server

授权协议: ISC

操作系统: 跨平台

开发语言: JavaScript

f2e-server 介绍

f2e-server

f2e-server 是基于nodejs平台的HTTP服务器,提供了基本的模板引擎以及常用的前端工具。

a nodejs based http-server with easy-template-engine and several F2E-utils

集成Node.js 环境版本下载: 百度网盘

github: https://github.com/shy2850/node-server.git/

简书文档: http://www.jianshu.com/p/a1456b95baec/

changelog: change.log

  • 安装 f2e-server : $ npm install f2e-server

  • 进入服务器根目录: $ cd node_modules/f2e-server

  • 修改hosts[windows]:$ node hosts

  • 启动f2e-server服务:$ npm start 服务启动后,会在f2e-server外层目录自动生成 conf.js 文件, 可参考修改

  • 恢复hosts[windows]:$ node hosts reset

  • 配置文件参考: nodeLib/config/conf.js

[](https://github.com/shy2850/node-

server#%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8)文件服务器

f2e-server 提供基本的文件服务器功能, 支持通过配置文件索引项目根目录绝对路径 【 root

  • 欢迎页面配置相对root的路径 【 welcome

  • 404页面配置文件绝对路径 【 notFound

  • 配置是否支持文件夹目录展示 【 fs_mod

  • 当前服务端口号 【 port

  • 当期服务可支持最大并发链接数 【 maxConnections

[](https://github.com/shy2850/node-

server#%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E)模板引擎

f2e-server 默认使用underscore模板, 参见
nodeLib/common/handle.js#L18

  • 默认开启模板引擎 【 runJs 】 以及依赖的配置 【 handle

  • 关闭后很多插件功能将失效

  • 支持模板的引用和包含http://www.w3cfuns.com/blog-5443978-5399247.html

    • $include[ 引用片段路径 ]

    • $belong[ 当前片段被包含母版路径 ]

    • $[placeholder] 包含母版中标记引入片段位置

  • 模板运行时环境变量:

    • request.data: GET请求参数包装, 如 request.data.type 表示GET请求参数type的值

    • request.post: POST请求参数包装, 获取方式同GET, 注:GET请求时, request.post === null

    • request.util:

    • request.$:

    • request.util.mime: f2e-server扩展mime模块

    • request.util.conf: 当前服务配置

    • request.util.staticServer: 预留staticconf配置的url

    • request.$.title: 当前请求路径 pathname

    • request.$.host: 当前host

    • request.$.fileList: 文件夹列表存储

    • request: 包转完成的当前请求

    • response: 原生的响应对象

    • require: nodejs 全局require

    • _: underscore源对象

[](https://github.com/shy2850/node-

server#%E8%B5%84%E6%BA%90%E5%90%88%E5%B9%B6%E5%92%8C%E5%8E%8B%E7%BC%A9)资源合并和压缩

  • 服务器内置 uglify-jscssmin 支持, 【 debug 】 为false时开启

  • 使用 $include 功能可以进行资源文件的动态合并

[](https://github.com/shy2850/node-

server#%E4%B8%AD%E9%97%B4%E4%BB%B6%E6%94%AF%E6%8C%81)中间件支持

f2e-server采用中间件的动态解析模式, 参见
nodeLib/filter/middleware.js

  • 默认支持 less / coffee / jade / markdown 扩展,npm install后直接使用

  • 对于其他需要且未被收录的扩展, 强烈建议开发者自己尝试修改源代码支持

[](https://github.com/shy2850/node-

server#%E9%A1%B9%E7%9B%AE%E8%BE%93%E5%87%BA)项目输出

  • 模板、 资源合并压缩、中间件支持(或混搭使用) 均被支持输出到结果文件目录中 【 output

  • 如果安装相关图片压缩依赖的模块, build默认支持在构建输出结果时对png,jpg等类型图片进行无损压缩

  • 中间件中 在请求头设置 middleware-type 属性, 将能够在输出时, 修改响应的文件后缀名

  • 如在开发中使用响应后缀,建议参考 agent 】配置

[](https://github.com/shy2850/node-

server#%E6%9C%8D%E5%8A%A1%E5%99%A8host%E8%BD%AC%E5%8F%91%E5%8A%9F%E8%83%BD)服务器host转发功能

f2e-server 支持本地环境通过不同的hosts域名分别请求不同的项目

  • nodeLib/config/conf.js 中所有返回key都被认为是一组本地域名类型 (如:localhost / test.abc.com / test.xuan.news.cn)

  • 如果多组配置使用了相同的端口号, 将需要使用指定域名访问(需要修改hosts文件)

  • 在安装目录中提供了快速修改备份/恢复 hosts文件的模块,

    • 可以直接使用 node hosts 修改 或 node hosts reset 恢复修改前的hosts文件

    • 默认使用windows环境的系统路径 (linux/unix 请根据需求修改)

    • 权限不足时,抛出异常,请使用管理员权限运行!

[](https://github.com/shy2850/node-

server#%E4%BB%A3%E7%90%86%E5%8A%9F%E8%83%BD)代理功能

f2e-server 方便的支持了代理远程请求功能 agent 】配置

  • get方法通过分析请求路径,返回一组相关代理配置

    • host: 远程代理的host 默认为 当前host

    • port: 远程代理的端口号, 默认为 80

    • origin: 支持origin格式配置: 优先级低于host&port, 因为需要实时解析,性能不及host配置

    • path: 路径转换方式, 可以根据本地路径转换成远程指定其他路径, 默认跟远程路径相同

    • cookie: 远程代理cookie ( 直接copy远程请求的请求头中的cookie )

    • save: 代理请求资源保存到本地对应文件目录 ( 资源批量下载以及中间件模板编译 )

[](https://github.com/shy2850/node-

server#%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD)插件功能

f2e-server 提供了一些有用的插件, 提倡开发者扩展

  • agent: 快速代理跨域请求如 /agent?http://news.cn

  • build: 即项目输出

  • config: 临时修改当前服务配置项[Beta版]

  • favicon.ico: 单独进行favicon.ico实现

  • prettify: 代码的服务端highlight实现, 支持远程请求同agent插件 /prettify?http://news.cn

  • psd: 读取服务器目录下的psd文件并且实时转化成png, 展示到浏览器中, 同时支持了解析PSD源资源数据,分别保存成png图片(Beta)

  • upload: post请求处理使用该模块实现(支持文件上传)

f2e-server 官网

http://f2e-server.com/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


memcached-session-manager 将session存储到memchached实现方案时。他主要功能是修改tomcat的session存储机制,使之能够把session序列化存放到memcached中。
Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。
EasyTomcat 是一个用来帮助简化 Tomcat 和MySQL 管理的系统,你可以启动、停止和配置 Tomcat和MySQL
riak-session-manager 是使用 Riak 来存储Tomcat session 信息的项目。 配置方法:
tomcat-redis-session-manager 是一个用来将 Tomcat 的 Session 数据存储在 Redis 库中的项目。
这是一款在 Oracle 的 JDeveloper 开发环境下管理Tomcat 的插件,如下图所示:
扩展Tomcat 6.x,使用redis存放session信息!是一个Eclipse项目,最好用EGit来Clone(因为里面有个中文文件名的说明文件).
dhcpcd 是一个兼容 RFC2131的DHCP客户端程序,支持DHCP的全部功能并且体积非常小,只有差不多 46k。
phpDHCPAdmin 是一个基于 Web 的动态主机配置协议(DHCP Daemon)的管理工具,可单独设置组、用户级别;PXE、多子网;空间租赁管理功能。可对数据进行可视化展示、分类。适合大规模的 dhcpd 环境管理。
JDHCP 项目的目的是为 Java 应用增加简单操作 DHCP 协议的方法,DHCP是动态主机配置协议的简称。使用这个API可以轻松的发送、接收和解析DHCP消息,可用于编写DHCP的客户端、服务器端应用。
DHCP服务器为客户端计算机分配IP地址,通常应用在企业网络中以减小配置成本,所有客户端的IP地址都保存在服务器端。
dhcp4java是一个用于操作DHCP信息包的纯Java类库。适用于DHCP服务器, DHCP客户端或DHCP转发。
dhcp-forwarder 是一个 DHCP 中继代理,它将在不同的子网广播域中转发 DHCP 广播信息。
不用看都知道是一个开源的 DHCP 服务器。 Open DHCP Server is a multi-subnet DHCP server. It supports both dynamic and
GAdmin-ProFTPD是一个基于GTK的可视化DHCP服务端管理工具。 更多的屏幕截图请看:http://mange.dynalias.org/linux/gadmin-dhcpd/screenshots/
Dual DHCP DNS Server 是一个提供 DHCP 和 DNS 服务的服务器软件,每一个功能都可以单独启用或者关闭。
Dhcpy6d 是一个开源的 DHCPv6 的服务器软件,相当于为 IPv6 客户端提供 DHCP 协议。
DHCP as a filesystem,要求 FUSE 的支持,使用 Go 语言开发。 安装: GOFUSE=github.com/hanwen/go-fuse
简易图床支持 HDFS 本地存储远端存储等。 Status Esay Graph bed Use HDFS Use Qiniu Use upyun Use Local
一个使用python开发的简单好用的 PXE (DHCP/TFTP/HTTP) 服务器,同时支持netboot、dhcp-