UNPKG

f2e-server

Version:

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

332 lines (272 loc) 14.9 kB
@since: 2014/9/21 --2014/9/21 #修改README.md 详细描述配置文件相关配置项 --2014/9/22 v1.0.6 #agent插件BUG修复 --2014/9/22 v1.0.7 #middleware增加jade支持。[不设置发布环境依赖, 需要手工安装jade] --2014/9/26 v1.0.8 #重新整理conf.js代码, 通过简单的对象属性扩展支持多组服务器配置复用 #根据conf.js的所有属性名 重置hosts文件, 用于方便支持本地不同域名访问获取不同服务。[重置hosts不可恢复,有必要的话,请手工备份] --2014/9/28 v1.0.9 #修改hosts动态修改策略, 提供修改和恢复hosts文件工具。 #附加bash命令处理 node node-server.js explorer http://localhost:2850 [从浏览器打开URL] --2014/9/29 v1.1.0 #修改文件展示套图为小图 #修改中间件导致的mime-type异常 #修改folder中有关图标样式规则,支持动态添加gif文件支持更多扩展后缀名文件显示 --2014/10/05 v1.1.1 #修复资源压缩造成的缓存失效问题 #增加delay参数,使得所有GET请求可以进行请求延时模拟 #修改前台使用的requirejs版本为官方版本[不支持.coffee后缀,故同时修改folder.coffee] #使用xhcms_2014库中的frame-upload插件进行文件上传 #修改文件夹中关于特殊文件类型,查看图标的显示逻辑 --2014/10/05 v1.1.6 ☆增加underscore依赖, 模板引擎平滑过渡到underscore.js内置的template, 增加相应的demo修改 #upload插件修改get请求获取数据的判断, 避免并发引起判断错误 #修改npm版本依赖, 按照目前调试使用的最高版本进行设置。 --2014/10/05 v1.1.6.* [开发版本] #增加一个简单的javaGUI浏览器, 可编译源代码[beta] #增加服务器动态配置页面(临时生效,重启恢复)[beta] --2014/10/07 v1.1.7 #PSD预览使用服务端PSD.JS支持(每次预览会生成同名png文件), 去除客户端支持方案, [不设置发布环境依赖, 需要手工安装psd] #修改plugin检查模式 #conf配置名称可能跟url相关, 不支持大小写敏感修改为完全小写 --2014/10/07 v1.1.8 .BUG修复:handle.execute方法在异步事件中因闭包导致数据错乱, +new, 让所有的闭包参数对应 --2014/10/07 v1.1.10 #prettify插件修改成服务端的highlight实现, 去除客户端支持方案, [不设置发布环境依赖, 需要手工安装highlight~0.2.3] --2014/10/08 v1.2.0 #修改模块依赖, 所有middleware插件均使用devDependencies需要使用 npm install 手工安装 #修改psd, prettify插件的错误提示, psd直接抛出500, prettify提示 require highlight --2014/10/08 v1.2.1 #添加 eslint 代码检测配置, 对所有服务端代码针对相关优化提示做了修改 #添加文件下载限制, 文件大小超过100MB的 提示下载失败页面 --2014/10/08 v1.2.2 #所有依赖使用官方版本 + 扩展 #修改 === 号以后, 域名判断中需要转换成数字类型对比 --2014/10/08 v1.2.4 #mime依赖修改 --2014/10/11 v1.2.4.* [开发版本] #修改pathname/extType转换后的相关判断规则 #修改agent/host传递(去掉port) #引入markdown中间件,匹配 *.md路径后缀 #修改request运行时变量 #修改readme.md --2014/10/11 v1.2.6 #修改config为插件模式, 同时修复config插件功能的引起的项目输出的BUG #修改README.md #项目输出增加log #build插件增加功能: 修改文件后删除源文件 --2014/10/27 v1.2.7 #修改代理设置,不再使用formidable模块,直接原生代理,支持文件代理上传【无缓存大文件可能造成服务器崩溃】 --2014/10/27 v1.2.7.* #修复通过IP访问地址变换的问题,让每次IP获取的配置等于localhost #去除modules的日志打印 --2014/11/04 v1.2.9 #增加在build状态下的GET参数处理,方便在build时修改构建结果 #agent增加异常捕获,避免服务器代理超时崩溃 #支持f2e-server外部引入conf.js配置文件,附加于nodeLib/config/conf.js(更新f2e-server不重新配置文件) --2014/11/16 v.1.2.10 #zencoding.html 使用服务端的highlight.js #eslint 更新规则 --2014/11/16 v1.3.0 #在文件夹列表页面 增加f2e-server版本更新提示, 采用本地package.json 和github的package.json对比版本号是否相同为依据 --2014/11/22 #prettify插件增加parse方法方便调用 --2014/11/23 v1.3.1 #upload插件修改: 空文件禁止提交保存到服务器, 避免崩溃 --2014/11/29 v1.3.2 #去除zencoding插件。 #jQuery换用成wfQuery。 #文件夹列表页面IE9下去除脚本支持。 #clock插件使用canvas重写, 不再支持IE9以下浏览器。 --2014/11/30 v1.3.3 #修改psd插件, 开发PSD图片元素拆分功能, 将其中的元素保存, 输出layers基本信息[psd.js 内存消耗极大, 成功率有限] --2014/11/30 v1.3.4 #文件读取模式使用 createReadStream, 二进制文件直接pipe, 去除下载文件100M大小的限制 #nginx-http-concat 缩小范围到文件夹目录, 防止异常路径 --2014/11/30 v1.3.5 #LESS版本更新, 导致中间件模块代码修改 --2014/11/30 v1.3.6 #文件列表相关代码抽离成子模块 #整理一些请求流程中的过滤型模块到filter目录 #支持filter 请求处理, 配置类似agent, 可以对所有请求进行统一处理 #修改npm start命令 --2014/12/24 v1.3.7 #过滤器提前, 可以修改url #index.js是一个极简版本的文件服务器 --2014/12/25 v1.3.8 #开发一个基于GoogleChrome插件的开发页面实时更新检测(后续提供更多内嵌浏览器的扩展) #修改核心模块node-server用以支持实时检测文件更新 --2014/12/25 v1.3.9 #修改实时更新监听插件和服务端支持【采用服务端监听有修改时再返回】 --2015/01/18 v1.4.0 #去除极简版本的文件服务器index.js #修复构建过程中, 出现出现request请求异常导致的服务器退出 #捕捉检测github更新中的异常退出 #修复config动态配置相关问题 --2015/01/28 v1.4.1 #chrome插件库增加一个二维码插件方便移动端测试。 #实时更新插件,使用search参数listen进行识别,默认不启动。 #f2e-server版本更新提示修改。 --2015/02/01 v1.4.2 #修改wfQuery为npm依赖 --2015/02/02 v1.4.4 #修改代理模块 filter/agent 支持保存远程cookie到f2e-server #修改代理模块配置 支持通过 origin = http://xuan.news.cn/ 代替host和port配置,并解析协议为https:时,port自动设置为443. #修改代理支持 对于远程服务的302转发中的域名部分修改成本地域名 --2015/02/12 v1.4.4* #修改代理模块 Node.js v0.12.0 要求response.setHeader 参数的name&value均不能为undefined或null. --2015/02/20 v1.4.5 #增加图片压缩功能 --2015/02/21 v1.4.6 #构建功能代理路径修改 #构建请求结果使用writeable stream 进行 pipe, 用以提高性能 --2015/02/27 v1.4.7 #在代理功能上附加保存功能【即: 整站下载专用通道】 --2015/03/01 v1.4.8 #删除文件上传相关demo #增加rename(filename,isDebug)参数配置,支持构建过程中对文件进行重命名 #添加自动生成配置文件功能, 首次启动服务器时, 如果木有配置文件, 将按照模板生成 --2015/03/01 v1.4.9 #模板包含添加配置支持 参考 nodeLib/conf/conf.js #模板include引用支持多级包含内容【include目标文件中含有include字段继续替换】 #模板包含的路径支持相对路径【/打头的路径为项目绝对路径】 --2015/04/02 v1.5.0 #添加中间件 FreeMarker支持, 使用后缀名 "ftl" --2015/04/02 v1.5.1 #中间件支持文本改写功能, 通过配置 middleware.get = function(){} 实现 #修改多处相关链接直接关联 f2e-server.com 官网 --2015/04/11 v1.5.2 #eslint检测修改 #hosts.js 工具支持linux操作系统hosts路径 "/etc/hosts" --2015/04/12 v1.5.3 #新增占位图插件 /placeholder.jpg [java-swing生成后二次读写] --2015/04/14 v1.5.4 #BUG修改, 过滤器修改, 设置过滤器有返回值时, 直接结束当前请求和操作。 #staticconf 配置增加过滤器配置, 用于线上展示使用 --2015/05/05 v1.5.5 #增加 autoprefix 支持, 默认为 false,需要在配置中开启 #增加开发依赖: "npm install autoprefixer-core" --2015/05/15 v1.5.6 #增加 css-sprite 支持, 通过chrome插件的纯浏览器端方案实现简单的版本 --2015/05/16 v1.5.7 #css-sprite 支持跨域图片合并及 css生成, 解决双字节base64转码的BUG --2015/05/24 v1.5.8 #修改默认的模板根目录配置, centOS下面存在staticConf的root配置变化的BUG, 使用这个方法临时解决 --2015/05/28 v1.6.0 #重要功能修改:build(构建)支持子目录输出到 output 文件夹 --2015/06/04 v1.6.1 #修改markdown引擎 #增加nodePPT解析引擎, 期望的文件后缀名为 `.mdppt` --2015/06/18 v1.6.7 #增加cdn配置, 内部同时支持 304-NotModified 需要开启配置。 #开发阶段文件修改自动更新cdn, 如果动态修改debug,cdn将被缓存, 建议同时修改cdn配置 --2015/06/21 v1.6.8 #修改linux下 build 插件的 bash 拼接错误 #staticconf 支持修改, 并且添加 host 约束。 弥补配置被篡改的问题 #welcome页面支持多级目录, 启用后 fs_mod 失效 #eslint检测修改 --2015/06/21 v1.6.9 #修复问题: optipng-bin 版本 v3.0.2 API修改,导致 build 失败 --2015/06/21 v1.7.0 #middleware支持sass, 后缀为:scss --2015/06/25 v1.7.1 #handle.js 修改, 支持外部引入模板引擎。 --2015/06/28 v1.7.2 #修复缓存失效问题 #增加gzip动态压缩 --2015/06/30 v1.7.4 #修复增加 gzip & cdn 带来的中间件以及构建等问题 --2015/07/05 v1.7.5 #autoprefixer 模块相关API修改, f2e-server增加postcss依赖并且做对应修改。 --2015/07/28 v1.7.6 #修复filter引起的崩溃问题 --2015/08/20 v1.7.7 #添加babel支持 配置启用为 babel: true --2015/10/18 v1.8.0 #修改babel依赖 #修改mdppt为外部依赖,去除mdppt的相关demo #设置npm-cli支持【global install】: $ f2eserver start 开启 #修改实时刷新插件为项目配置(livereload) 默认不开启, 使用jsonp模式更靠谱的支持了全浏览器设备 --2015/10/19 v1.8.2 #livereload 支持从 watch 换用到 chokidar --2015/10/19 v1.8.3 #全局模式增加hosts等命令 #livereload 监听事件修改,只支持change --2015/11/01 v1.8.7 #修改中间件压缩参数配置 #修改buildFilter支持在filter内检测,保持开发发布环境统一 #增加liveload 可监听路径后缀支持, 所有请求均支持 listen=true 时开启监听。 #修改css3自动前缀最新版本依赖 --2015/11/09 v1.8.8 #修改agent设置,支持http请求配置域名代理,端口设置: 80 --2015/11/21 v1.9.0 #修改agent设置,默认支持原生代理配置,mutiple:true 支持多域cookie配置 #修改cli,start后不弹出多余的 bash/dos 窗口 --2015/11/29 v1.9.3 #livereload增加自动构建更新功能,实时刷新配合热部署正在修改的文件。 #livereload 支持任何连接加 listen=true 嵌入客户端js。 --2015/12/09 v1.9.4 #renameMap 添加特殊url在构建环节支持改名 --2015/12/25 v1.9.5 #修改livereload构建中间件时候的严重BUG --2015/12/31 v1.9.6 #如果livereload配置成功, 在构建时候强制提醒确认。 #添加根据资源md5修改输出文件名称, 配置在renameMap里面,详细参见官网配置示例说明 --2015/12/31 v1.9.7 #修复staticConf在folder页面的host配置问题 #添加 ES6, livereload(支持默认的inject) 在config配置页面的支持, 去掉folder页面路径等修改较少的配置 #重要修改: build构建默认不再删除源目录文件(只是覆盖同名文件) --2016/01/03 v1.9.8 #全局安装全面兼容Linux/unix操作系统 #自动生成的默认配置参数只保留 root,port,output --2016/01/04 v1.9.9 #autoprefixer官方插件配置修改,进行对应修改 --2016/01/09 v1.9.12 #修改babel依赖 5.8.34版本 不使用babel6, 方便repl模式直接调用 --2016/01/11 v1.10.0 #重构middleware, 提供register注册插件 #增加全局setup方法,可以在内部增加middleware.register等插件 #提供babel更复杂的配置支持 #修改全局cli, 支持配置文件使用require --2016/01/16 v1.10.4 #文件上传添加启动参数配置 uploadFile: true ,不配置接收但不保存文件,解决线上运行时严重安全漏洞。 #修改文件上传路径配置: 默认为接收post请求页面所在的路径,仍然支持修改uploadUrl参数 #修改模板引擎渲染异常时,只在控制台提示错误,继续输出源码且保留压缩等操作 --2016/02/01 v1.10.6 #图片压缩完全使用收费的 [tinify](https://tinypng.com), 配置参数 {key: '', minSize: 60*1024, filter: function(pathname){}}; 申请KEY的地址 [https://tinypng.com/developers](https://tinypng.com/developers); #babel5依赖提升为安装依赖 --2016/02/18 v1.11.0 #babel升级为babel6, 安装依赖 babel-core, 开发依赖 babel-preset-es2015 和 babel-preset-react #autoprefixer依赖配置postcss --2016/02/18 v1.11.1 #配置文件支持直接检索项目根目录下的 f2e-conf.js 合并配置项 #babel 添加开发依赖 babel-plugin-transform-es2015-modules-amd #更新免安装版本为 dedupe 模块包 --2016/03/06 v1.11.2 #psd预览提供更多功能: 支持元素拖拽、删除,ctrl+s保存图片等功能 --2016/03/06 v1.11.3 #psd预览页面体验修改 #conf.host 功能修改,区分配置host, 方便livereload,staticconf调用等等 --2016/03/27 v1.11.4 #build修改filter和重命名分离 #【重要修改】 build 不再使用系统copy命令(文件夹过多时windows下系统异常), 完全使用node实现,文件copy则完全按照buildFilter规则输出,return false 不输出。 #全局f2e-conf.js配置文件支持__dirname, 并添加语法错误提示 #$rename配置支持通过conf.renameReg 修改默认的查找例如: renameReg: /([^"]+)\?__rename(?=")/g #【重要修改】 去除默认对所有js设置babel启用,只是采用中间件模式支持 .jsx 文件编译,示例可以参考: [https://github.com/shy2850/mcafe](https://github.com/shy2850/mcafe) --2016/03/30 v1.12.0 #修复mime返回空问题 #header中 Date.toGMTString() 编码不识别问题 #资源响应增加服务器标识 #静态资源服务器开启cdn --2016/04/07 v1.12.2 #修复构建输出丢失文件BUG【所有非文本资源都过滤了】 #改进构建配置,资源构建添加间隔时间(buildInterval),防止并发HTTP造成的大量失败构建 --2016/04/09 v1.12.3 #构建环节添加FTP上传 #支持扩展资源的响应头, 如: conf.headers: {"Access-Control-Allow-Origin": "*"}