1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 total.js 1.9.0 发布,Node.js 的 MVC 框架 下载

本帖由 漂亮的石头2015-07-30 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,354
    赞:
    47
    total.js 1.9.0 发布,此版本现已提供下载:


    更新内容:


    • added: (IMPORTANT) ISOMORPHIC using


    • added: (IMPORTANT) new flag mobile (mobile routing), you can create a route to mobile device


    • added: (IMPORTANT) new flag delay for long time operations (it removes timeout)


    • added: readonly req.mobile -> returns boolean


    • added: new view tag: @{mobile} –> returns boolean


    • added: new view tag: @{isomorphic} –> returns Object with isomorphic objects


    • added: config['disable-clear-temporary-directory'] = false (after start)


    • added: config['allow-compatibility'] = false - a backward compatibility mode


    • added: config['default-timezone']


    • added: config['directory-isomorphic']


    • added: config['directory-private']


    • added: F.path.private([filename])


    • added: F.path.isomorphic([filename])


    • added: Controller.ping() for WebSocket


    • added: global.DB() --> same as global.DATABASE()


    • added: global.isomorphic --> returns framework.isomorphic --> returns isomorphic objects


    • added: global.is_client and global.is_server for isomorphic


    • added: cache for HTTP routing


    • added: RegExp routing F.route('/{/^\\d+$/}', ...)


    • added: F.responseBinary(req, res, contentType, buffer, [type], [download], [headers])


    • added: SchemaBuilderEntity.filter(custom, [model], [reverse])


    • added: SchemaBuilderEntity.trim = true(enable/disable trim strings (default: true))


    • added: Number.prototype.add(value, [decimals]) -> supports percentage


    • added: Date.prototype.toUTC([ticksOnly])


    • added: Date.prototype.extend() -> extend current datetime about new date or time (more in documentation)


    • added: F.stats.request.mobile, F.stats.request.desktop


    • added: res.setHeader('Vary', 'Accept-Encoding, User-Agent') for same url addresses and different devices (desktop vs mobile)


    • added: binary - total --translatecsv


    • added: controller.jsonp(method_name, obj, [headers], [beautify], [replacer]);


    • added: CSS variables likes sass, example: $color: red;


    • added: CSS nesting


    • added: modificators for dynamic modification before compilation: views, styles and scripts


    • added: TransformBuilder


    • added: F.load(debug, load_types, [path]);


    • added: F.isWorker (is true when is called F.load())


    • added: F.isCluster (is true when the framework is running in the cluster)


    • added: F.logmail(address, [subject], body, [callback]) --> send e-mail message as plain text


    • added: Array.unique([property]) by Andrea Sessa


    • added: Array.pair(array, property, fn(itemA, itemB), [remove]) - pair arrays


    • added: String.base64ToBuffer();


    • added: terminal -> tpm unpack [package_name] [optional: target_directory]


    • added: versions is applied to raw HTML


    • added: versions supports auto-mapping


    • added: sync2(), e.g. sync2(fn), diff with v1: sync(fn)() and v2: sync2(fn)


    • added: "dependencies" file for installing dependencies (modules, packages, etc.)


    • added: @{nocompress html}, @{nocompress js}, @{nocompress css}, @{nocompress all}


    • added: req.authorize(callback(err, userprofile, isAuthorized))


    • added: res.content(code, body, type, [compress]) -> alias for F.responseContent()


    • added: F.localize(name, path, [middleware], [options]) - auto translating static files


    • added: F.listener(req, res) -> for multiple server listeners


    • added: F.restful(url, flags, onQuery, onGet, onSave, onDelete) -> creates routing


    • added: F.onSchema(req, group, name, callback(err, body)) -> for custom schemas


    • added: @{import(filename1, filename2, filenameN)}


    • added: SchemaBuilderEntity.setError(function(error, model, type, name));


    • added: F.snapshot(url, filename, [callback]);


    • added: CLEANUP(stream, [callback]) - clean up readable streams


    • added: configs directory


    • added: F.behaviour(url, flags);


    • added: behaviour: disable-measuring (default: false)


    • added: behaviour: disable-middleware (default: false)
    更新


    • updated: (IMPORTANT) routing: json flag is not required for receiving incomming data as JSON


    • updated: F.mail(address, subject, view, [model], [callback], [language]) added language


    • updated: F.view(name, model, [layout], [repository], [language]) added language


    • updated: F.route(url, ...), F.websocket(url, ...) --> URL can be function(url, req, [flags])


    • updated: versions affects F.map() and F.merge()


    • updated: controller.mail(address, subject, view, [model], [callback], [language]) added language


    • updated: config['allow-performance'] is set to true


    • updated: (IMPORTANT) F.map(url, filename/directory, [filter]) supports mapping directories


    • updated: (IMPORTANT) arguments order SchemaBuilderEntity.setValidate(function(name, value, path, model, schema){})


    • updated: (IMPORTANT) U.extend(target, source, [rewrite]); --> rewrite is by default: true


    • updated: SchemaBuilderEntity.setPrepare(function(name, value, index, model){}) --> model is new


    • updated: SchemaBuilderEntity.define(name, value, required, [custom]) --> custom is new


    • updated: HTML compressor


    • updated: favicon (removed rel="icon")


    • updated: binary tpm create [package] [directory] (added argument [package], [directory])


    • updated: better handling middleware errors and added prevention of "memory leak"


    • updated: (IMPORTANT): Websocket ping is set to 3 minutes


    • updated: framework responds for bad requests with HTTP 403


    • updated: Mail (added support for Office365)


    • updated: Date.prototype.add() supports e.g. Date.prototype.add('25 days')


    • updated: String.prototype.params() -> supports double "{{"


    • updated: F.schedule(date, [repeat], fn) --> added [repeat]


    • updated: F.responseStream() and controller.stream() added [nocompress] argument


    • updated: binary tpm supports install package from different URL


    • removed: XSS check
    修复


    • fixed: controller.binary(buffer, contentType, [download], [headers])


    • fixed: routing DELETE


    • fixed: binary (creating empty-project, bad record with smtp options)


    • fixed: calling generator action


    • fixed: binary --translate (filenames)


    • fixed: SchemaBuilderEntity prepare (problem with nullable Boolean)


    • fixed: (IMPORTANT) 431 system route


    • fixed: F.log(), F.logger() –> problem with objects, reported by Nikita Shmidt


    • fixed: Number formatting (problem with negative numbers)
    改进


    • improved: performance +15%


    • improved: code optimalization


    • improved: Date.prototype.format()


    • improved: String.prototype.format()


    • improved: Number.prototype.pluralize()


    • improved: view debugging
    向后兼容


    重要:
    exports.install = function(framework) {} framework variable is removed but with backward compatibility (config['allow-compatibility']).

    total.js 是个 web 应用框架,使用 JavaScript,HTML,CSS 和 Node.js(MVC) web 应用框架来构建 web 网站和 web 应用。

    [​IMG]
    total.js 1.9.0 发布,Node.js 的 MVC 框架下载地址
     
正在加载...