total.js 2.2.0 发布,Node.js 的 MVC 框架
<div class="news-content" style="box-sizing: border-box; color: rgb(0, 0, 0); font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; font-size: 16px;"><div class="text clear" style="box-sizing: border-box; overflow: hidden; margin-top: 24px; color: rgb(51, 51, 51);"><p style="box-sizing: border-box;">total.js 2.2.0 发布了。</p><p style="box-sizing: border-box;">total.js 是个 web 应用框架,使用 JavaScript,HTML,CSS 和 Node.js(MVC) web 应用框架来构建 web 网站和 web 应用。</p><h3 style="box-sizing: border-box;">更新内容:</h3><p style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">新增</span>:</p><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">added: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">controller.proxy2(url, , , )</code> creates a proxy between current request and new URL</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">added: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">Image.watermark(filename, , , , )</code> creates a watermark</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">added: hidden hack <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">res.noCompress = true</code> disables compilation of <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">.js</code> or <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">.css</code></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">added: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">RESTBuilder</code> for creating REST requests (more in docs)</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">added: new config item <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">allow-cache-snapshot</code> - to prevent cache when the framework is restarted</p></li></ul><p style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">更新</span>:</p><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">SINGLETON(name, )</code> about <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">def</code> argument</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">debug.js</code> adds timestamps</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">F.redirect()</code> can contain a relative URL of file</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: NoSQL embedded parser, dates are parsed as date object</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">Pagination.next()</code>, <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">Pagination.prev()</code>, <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">Pagination.last()</code> and <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">Pagination.first()</code> supports new arguments <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">.html(, )</code></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">updated: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">F.worker()</code> supports packages <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">F.worker('@eshop/myworker-script')</code></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">update: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">FrameworkImage</code> when the instance contains no command then <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">.minify()</code> method is performed automatically for preventing of empty response</p></li></ul><p style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">提升</span>:</p><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">improved: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">@{href(key, value)}</code> performance</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">improved: Total Package Manager <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">$ tpm --help</code></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">improved: FrameworkImage command building</p></li></ul><p style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">修复</span>:</p><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">fixed: <span style="box-sizing: border-box; font-weight: bolder;">(critical)</span> NoSQL <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">nosql.modify()</code> and problem with updating <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">undefined</code> values</p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">fixed: <span style="box-sizing: border-box; font-weight: bolder;">(critical)</span> security with GM and IM --> 10000x thanks for Luis Figueiredo <a target="_blank" href="mailto:luisf@hexasoftware.com" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(61, 177, 88);">luisf@hexasoftware.com</a></p></li></ul><p style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">重命名</span>:</p><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;">renamed: <code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">F.onLocate</code> renamed to <span style="box-sizing: border-box; font-weight: bolder;"><code style="box-sizing: border-box; font-family: monospace, monospace; font-size: 1em;">F.onLocale</code></span></p></li></ul><h3 style="box-sizing: border-box;">下载地址:</h3><ul class=" list-paddingleft-2" style="box-sizing: border-box; list-style: none;"><li style="box-sizing: border-box;"><p style="box-sizing: border-box;"><a href="https://github.com/totaljs/framework/releases/download/v2.2.0/empty-project.zip" rel="nofollow" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(61, 177, 88);"><span style="box-sizing: border-box; font-weight: bolder;">empty-project.zip</span></a></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;"><a href="https://github.com/totaljs/framework/archive/v2.2.0.zip" rel="nofollow" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(61, 177, 88);"><span style="box-sizing: border-box; font-weight: bolder;">Source code</span> (zip)</a></p></li><li style="box-sizing: border-box;"><p style="box-sizing: border-box;"><a href="https://github.com/totaljs/framework/archive/v2.2.0.tar.gz" rel="nofollow" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(61, 177, 88);"><span style="box-sizing: border-box; font-weight: bolder;">Source code</span> (tar.gz)</a></p></li></ul></div></div><div class="news-links" style="box-sizing: border-box; margin-top: 30px; color: rgb(51, 51, 51); font-family: "PingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; font-size: 16px;"><div class="link-title" style="box-sizing: border-box; font-size: 1.125rem;">相关链接</div><ul class="link-list" style="box-sizing: border-box; list-style: square inside; color: rgb(108, 108, 108);"><li style="box-sizing: border-box; margin-top: 5px;">total.js 的详细介绍:<a href="https://www.oschina.net/p/total-js" target="_blank" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(74, 171, 71);">点击查看</a></li><li style="box-sizing: border-box; margin-top: 5px;">total.js 的下载地址:<a href="https://www.oschina.net/home/login?goto_page=https://www.oschina.net/news/78540/totaljs-2-2-0" target="_blank" style="box-sizing: border-box; background-color: transparent; text-decoration: none; outline: 0px; color: rgb(74, 171, 71);">点击下载</a></li></ul></div><p></p>
页:
[1]