total.js 1.9.0 發布,Node.js 的 MVC 框架 - OSCHINA - 中文開源...

2021-01-10 開源中國

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

total.js 是個 web 應用框架,使用 JavaScript,HTML,CSS 和 Node.js(MVC) web 應用框架來構建 web 網站和 web 應用。

相關焦點

  • total.js 2.4.0 發布,Node.js 的 MVC 框架
    total.js 2.4.0 發布了。total.js 是一個 web 應用框架,使用 JavaScript、HTML、CSS 和 Node.js(MVC) web 應用框架來構建 web 網站和 web 應用。
  • total.js 1.9.0 發布,Node.js 的 MVC 框架
    F.stats.request.mobile, F.stats.request.desktopadded: res.setHeader('Vary', 'Accept-Encoding, User-Agent') for same url addresses and different devices (desktop vs mobile)added: binary - total
  • gRPC首頁、文檔和下載 - RPC 框架 - OSCHINA - 中文開源技術交流...
    gRPC 是一個高性能、開源和通用的RPC 框架,面向移動和 HTTP/2 設計。其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.開源中國組織翻譯的《gRPC 官方文檔中文版》:http://doc.oschina.net/grpcgRPC 基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特。
  • Node.js 開發者們都在做什麼?
    同時也告訴我們Node.js開發者面臨著一大痛點:調試。本次調查從七月11日到八月15日總共歷時35天,總共有1126名node.js開發者參與了本次的調查。其中55%的開發者具有兩年以上的node.js開發經驗,26%具有1到兩年的經驗。20%為公開交易的公司工作,7%在500強的公司工作。
  • Node.js 2018 用戶調查:最愛 Express,最想學 Rust
    Node.js 基金會近日發布了 2018 Node.js 用戶調查報告,這是該基金會舉報的第三屆年度用戶調查,於 2017 年
  • JupyterLab 3.0發布:支持中文界面,安裝插件無需Node.js
    曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAI原本計劃在2020年底推出的JupyterLab 3.0,在逾期6天後終於正式發布了。作為一次大版本升級,JupyterLab 3.0這次改進頗多,主要增加的功能有:加入中文等多語言界面、新的可視化調試器、改進的簡單界面模式、更清晰的文檔目錄等等。
  • material2 發布 7.1.0,Angular 的 Material Design 風格框架
    Angular 的 Material Design 風格框架 material2 發布了 7.1.0 版本,這主要是一個 bug 修復版本,當然也提供了新特性和改進性能。
  • Deno需要做什麼才能取代Node.js?
    什麼是DenoDeno是由Ryan Dahl(也是Node.js的原創者)創建的安全的JavaScript和TypeScript運行時,它的創建是為了彌補2009年首次設計Node.js時的疏忽。這種出發點很有意義,我敢肯定每個程式設計師都希望有機會重寫他們10年前的代碼。
  • 「原創」如何高效管理你的js代碼
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫1.為什麼需要管理好js代碼1.1 你有遇到這些情況嗎其他項目使用自己慢慢豐富的工具類,你是copy過去的?難免需要刪除整個node_modules並重裝依賴庫,你會因為重寫過某些庫的代碼而糾結?
  • Node.js核心框架貢獻者力作,終於有電子版了,還是高清PDF
    本書是Node.js的實戰教程,涵蓋了為開發產品及Node應用程式所需要的一切特性、技巧以及相關理念。從搭建Node開發環境,到一些簡單的演示程序,到開發複雜應用程式所必不可少的異步編程。第一部分介紹了Node.js,教授了一些用它做開發所需要的基礎技術。第l章闡述了Node的特徵,並給出了一些示例代碼。第2章指導讀者創建了一個示例程序。第3章闡述了Node.js開發的困難之處,以及可以用來克服這些困難的技術,並給出了組織程序代碼的辦法。
  • 前端工程化以及如何通過Node.js中babel來編譯es6模塊化代碼
    在一開始模塊化是分為兩大模塊來進行規範的 :一 ,是瀏覽器端模塊化規範 , 主要有兩種模塊化的方法 :1.AMD(Require.js ),2.CMD(Sea.js )文件都是一個獨立的模塊.導入模塊成員使用 import 關鍵字暴露模塊成員使用 export 關鍵字之後就形成了前端工程化下面在:Node.js中通過babel體驗ES6模塊化1.首先電腦要安裝Node.js 環境必須v10以上的版本自帶npm包管理工具不需要再單獨安裝npm2.創建工程項目文件夾名稱不要使用中文 不能使用 babel 因為會和第三方模塊
  • 有人分析了7個基於JS語言的DL框架
    對每個框架的具體介紹如下:TensorFlow.js[2] :2018 年 3 月由 Google 發布,是一個 inbrowser 機器學習庫,支持使用 JavaScript 在瀏覽器中定義、訓練和運行模型。TensorFlow.js 由 WebGL 提供支持,並提供用於定義模型的高級 API。
  • material2 發布 7.0.1,Angular 的 Material Design 風格框架
    Angular 的 Material Design 風格框架 material2 發布了 7.0.1 版本,這主要是一個 bug
  • 有人分析了7個基於JS語言的DL框架,發現還有...
    所有的實驗都在 Ubuntu 18.04.01 LTS(64 位)上的 Chrome 瀏覽器(版本:71.0.3578.10 dev 64 位)上運行,且使用各個框架最新發布的版本。對於每個 DL 任務,實驗中構建了一個網頁,可以通過 URL 中的參數來改變 DL 模型的配置。作者在 Chrome 瀏覽器上運行每個 DL 任務,並記錄完成任務的時間。
  • VUE與JS的對比
    我們需要讓所有綁定的對象和元素都能感知到變化1.1.1. vue與js的對比1.1.1.1. js的實現(了解)<!--1. 引入js文件--><script src="../node_modules/vue/dist/vue.js"></script></head><body><!--2.
  • Uber 上市了,國內對標的「滴滴」有什麼開源軟體?
    Uber 上周上市了,我們整理了 Uber 的一些開源軟體,詳細列表請看這裡。滴滴是對標 Uber 的中國公司,滴滴在開源領域也有不少知名的開源項目。
  • three.js為何如此奇妙
    WebGL是在瀏覽器中實現三維效果的一套規範,而最初使用WebGL原生的API來寫3D程序是一件非常痛苦的事情,在辛苦的付出下WebGL開源框架出現了,其中three.js就是非常優秀的一個,它掩蓋了很多麻煩的細節,那麼,就讓我們一起來看看,什麼是three.js吧!
  • Angular、React 當前,Vue.js 優劣幾何?
    2019 更是熱度不減,而作為近年來尤為熱門的前端框架,Vue.js 自是積累了大量關注。那麼,Vue.js 是適合你的框架嗎?作者 |Tim Han譯者 | 蘇本如責編 | 仲培藝以下為譯文:對於大多數人來說,現在要構建一個新的前端應用,對框架/庫的選擇在很大程度上都是在 Angular 和 React 中二選一。
  • 推薦一些 GitHub 上值得前端學習的開源實戰項目,進階必看!
    最近好多同學問我了解找一些學習的實戰項目;看一個別人寫的優秀的項目,從中可以學到很多;比如代碼的規範,項目的結構;從項目作者每次提交記錄,去學習一些別人的開發思維以及開發整個項目的流程;下面我主要找了一些比較火的一些框架以及 node 項目。
  • 2021年JS框架預測和IT領域技術趨勢
    框架前端框架這邊,大多數 JavaScript 開發人員都在使用 React、Vue.js 或 Angular。jQuery 仍然有著令人驚訝的份額,幾乎是 Vue.js 的兩倍,但是我猜測 jQuery 在應用程式中用的少一些,而在內容網站和 WordPress 模板中用的更多,因此我們今年將排除掉它。