total.js 1.9.3 发布,此版本更新内容: 新特性 added: (IMPORTANT) merging supports BLOCKS (.js,.css), e.g. F.merge('merge.js', 'fileA.js#management,common', 'fileB.js#management') added: (IMPORTANT) a route with schema binding can contain filter e.g. *Schema#update or *Group\Schema#create --> the framework validates only fields by filter added: TRANSFORM([transform], obj) added: NEWTRANSFORM(name, fn, [isDefault]) --> alias for TransformBuilder.addTransform() added: packages can be stored as directories (recommended for debug mode only) added: F.localize(name, url, [middleware], [options], [minify]) --> minify argument added: email supports calendar (.ics) request sending added: SchemaBuilderEntity.make(function(schema)) added: F.install() supports packages mapping added: Support for unicode routing added: Packages can be loaded in framework structure (/controllers/, /modules/) exports.booting = true added: route flags can contains object --> the object is an additional options for middleware added: Utils.btoa(str) --> returns base64 added: Utils.atob(str) --> returns binary added: global.TRY(fnScope, [fnError]) --> creates safe scope (more in documentation) added: Utils.getExtension(filename) added: @{head} can be imported as @{import('head')} added: @{meta} can be imported as @{import('meta')} added: controller.cookie('KEY') --> for reading added: controller.cookie('KEY', 'VALUE', expire, [options]) --> for writting added: framework.onParseQuery(function(value)) --> for parsing values from the requests added: framework.onParseXML(function(value)) --> for parsing values from the requests added: framework.onParseJSON(function(value)) --> for parsing values from the requests 更新 updated: (IMPORTANT) F.onValidation() was renamed to F.onValidate() updated: (IMPORTANT) SchemaBuilderEntity.onValidation() was renamed to SchemaBuilderEntity.onValidate() updated: (IMPORTANT) SchemaBuilderEntity.setValidation() was renamed to SchemaBuilderEntity.setValidate() updated: CSS compressor removes comments updated: F.restrictions.allow('IP') --> does not have to be full IP updated: F.restrictions.disallow('IP') --> does not have to be full IP updated: String.startsWith() and String.endsWith() according to ES6 but with the backward compatibility updated: String.parseDate() supports JSON format and classic date serialization updated: U.request() --> response always returns string updated: debug.js --> now watchs packages Bug 修复 fixed: framework starting path (fixed problem with PM2 module) fixed: controller.memorize() - prevention for multiple requests fixed: routing (POST request without content-type is considered as application/x-www-form-urlencoded) fixed: sync2() fixed: U.minifyHTML() - now compresses JS and CSS in HTML. fixed: Async.cancel() fixed: email attachments fixed: throwing error in global middleware fixed: Pagination.last() fixed: CSS auto-vendor-prefixes fixed: tpm binary (bug in creating packages on Windows) fixed: controller generators fixed: F.install() --> problem with names via URL import fixed: F.map() on Windows (problem with paths) fixed: HTML compression in views fixed: U.Async() object (problem with waitingFor) fixed: F.map(), problem in Windows fixed: CLEANUP(stream, [callback]); fixed: HTTP CACHE ### 示例 EXAMPLE (NEW): https://github.com/totaljs/examples/tree/master/blocks 下载: empty-project-visualstudio.zip empty-project.zip total.js 是个 web 应用框架,使用 JavaScript,HTML,CSS 和 Node.js(MVC) web 应用框架来构建 web 网站和 web 应用。 total.js 1.9.3 发布,Node.js 的 MVC 框架下载地址