njs 0.3.0 發布,擴展 Nginx 功能的 JavaScript 子集

2021-01-20 開源中國

njs 是 JavaScript/ECMAscript 的子集 。它實現了大部分的 JavaScript 語言的功能,沒有完全遵從 ECMAScript 標準,同時拋棄了 JavaScript 比較難懂的部分。njs 不是通過 V8 引擎實現的,而是通過一個更小、能耗更低、更符合 Nginx 應用場景的小虛擬機(VM)來實現,可以理解為 Nginx 為其實現了一套自己的詞法解析。

njs 以 Nginx 插件的方式存在,名字就叫 njs 。和其他 Nginx 插件一樣,我們需要重新編譯 Nginx 來完成安裝。

njs 目前仍處於早期研發狀態,最新版本 0.3.0 已發布。

此版本更新內容主要是添加對 ES6 模塊的支持,支持默認導入和默認導出語句。

除此之外還包括:

功能:添加了 http 和 流 的 js_path 指令  功能:增加 Object.prototype.propertyIsEnumerable() 修復:修復了 RegExp 文字解析 修復:修復 UTF8 字符串在  fs.readFileSync() 中的設置長度

詳情請查看發布公告。

相關焦點

  • njs 0.4.0 發布,nginx 的 JavaScript 腳本語言
    njs 0.4.0 已發布,新增了 js_import 指令,以及在 r.headersOut 中支持多值標頭(multi-valued headers)。
  • njs 0.3.4 與 0.3.5 發布,Nginx 的 JavaScript 腳本語言
    njs 0.3.4 與 0.3.5 發布了。
  • Tengine 2.2.0 發布,淘寶 Web 伺服器
    Tengine 2.2.0 發布了,更新如下:Tengine 2.2.0 [2016-11-29]* Security: 進程將特殊構造的請求體寫到臨時文件時會觸發段錯誤
  • Nginx在高並發下的性能優化點!有這篇就夠了!
    [root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s reload[root@lx~]# ps -aux | grep nginx |grep -v greproot 9834 0.0 0.0 47556 1948
  • kangle 開發版 3.1.0 發布
    kangle 3.1是一個令人振奮的版本,以下是3.1中的新增功能點: 1. 更多的模塊,如上傳進度跟蹤模塊,更簡單的url重寫模塊,mark印記模塊,代理指定出去ip.
  • 【Nginx快速掃盲】nginx入門
    內存消耗少:在3萬並發連接下,開啟的10個nginx進程才消耗150M內存(15M*10=150M)配置文件非常簡單:風格跟程序一樣通俗易懂成本低廉:nginx為開源軟體,可以免費使用。其中,resolver配置DNS解析IP位址,比如 Google Public DNS。
  • JupyterLab 3.0發布
    日前JupyterLab官方博客發布消息宣布正式發布 JupyterLab3.0,該版本新增加了可視化調試器,目錄,簡單模式UI,多語言支持等大量新功能,並對擴展系統進行了重大改進。今天蟲蟲就帶領大家一起嘗鮮JupyterLab3.0。
  • ELK5.X搭建並收集Nginx日誌
    雖然每次查詢都是實時計算,但是優秀的設計和實現基本可以達到全天數據查詢的秒級響應;集群線性擴展。不管是 Elasticsearch 集群還是 Logstash 集群都是可以線性擴展的;前端操作炫麗。Kibana 界面上,只需要點擊滑鼠,就可以完成搜索、聚合功能,生成炫麗的儀錶板。
  • Spark 3.0發布啦,改進SQL,棄Python 2,增強擴展,性能大幅提升
    Apache Spark 3.0.0正式發布啦,Apache Spark 3.0是在Spark 2.x的基礎上開發的,帶來了新的想法和功能。Apache Spark 3.0.0Spark是一個開源的大數據處理、數據科學、機器學習和數據分析工作負載的統一引擎,自2010年首次發布以來,已經成長為最活躍的開源項目之一;支持Java、Scala、Python、R等語言
  • 動態Web 應用伺服器 NGINX Unit 1.21.0 發布
    NGINX Unit 1.21.0 已發布,更新內容除了常規的 bugfix 外,還增加了部分新特性,例如支持條件匹配的 PCRE 和多線程請求處理等。因此,開發者現在可以調整每個應用程式進程中用於請求處理的線程數,這樣能改善伸縮能力並優化內存使用率。
  • 與TensorFlow 功能互補的騰訊 angel 發布 3.0 :高效處理千億級別...
    自 2017 年 angel1.0 在 Github 上開源以來,angel 共獲得星標數超過 4200、fork 數超 1000。騰訊發布了相關文章介紹了 angel3.0 更新細節等內容,雷鋒網(公眾號:雷鋒網) AI 開發者將其整理編輯如下。
  • 數據科學集成環境JupyterLab發布3.0
    日前JupyterLab官方博客發布消息宣布正式發布 JupyterLab3.0,該版本新增加了可視化調試器,目錄,簡單模式UI,多語言支持等大量新功能,並對擴展系統進行了重大改進。今天蟲蟲就帶領大家一起嘗鮮JupyterLab3.0。
  • 酷瓜雲課堂(騰訊雲版)v1.2.0 發布,GPL 協議再出發
    版本,此次更新修復了以往版本出現的問題,最主要的是完成了客戶端所需要的 API,以後 H5 移動端,小程序,APP 客戶端就可以陸續的發布了。Phalcon 開發,GPL-2.0 開源協議,致力開源網課系統,開源網校系統,開源在線教育系統。
  • Nginx使用upstream_check_module模塊實現後端節點健康檢查功能
    nginx自帶的針對後端節點健康檢查的功能比較簡單,通過默認自帶的ngx_http_proxy_module 模塊和ngx_http_upstream_module模塊中的相關指令來完成當後端節點出現故障時,自動切換到健康節點來提供訪問。
  • Foxit Reader 3.0全新發布
    與官方PDF文檔閱讀器Adobe Reader相比,Foxit Reader體積小巧、速度飛快、功能齊全,在全球已經贏得了5000多萬用戶的青睞。經過兩個多月的測試後,全新的Foxit Reader 3.0版已經發布,引入了一系列激動人心的新功能,很多現有功能也進行了增強。
  • JavaScript入門教程
    起源javascript前身叫做livescript,sun公司推出java,netspace公司引進java的概念,重新設計livescript,並更名javascript。發明者,布蘭登.艾克,表單驗證原先要經過伺服器,伺服器壓力大,等待時間長,js僅在客戶端就可完成。是什麼是一種腳本語言,是一種輕量級的程式語言。
  • Apache Hadoop 3.0.0 GA 正式發布,要求 Java 8
    編者註:Hadoop 發布了全新 3.0 版本,關於該版本的主要改進說明,
  • 從setTimeout(fn,0)函數剖析JavaScript的執行機制
    在zepto源碼中,$fn對象的ready函數有一句setTimeout(fn,0)的函數,如下圖所示:setTimeout(fn,time)作為一個延時函數,在很多時候都會使用,而time是相應的延時時間;如果time為0時,按道理說就要不延時而立即執行了,那為什麼需要特意將fn套在setTimeout裡面而不直接正常執行呢
  • JupyterLab 3.0發布:支持中文界面,安裝插件無需Node.js
    曉查 發自 凹非寺量子位 報導 | 公眾號 QbitAI原本計劃在2020年底推出的JupyterLab 3.0,在逾期6天後終於正式發布了。作為一次大版本升級,JupyterLab 3.0這次改進頗多,主要增加的功能有:加入中文等多語言界面、新的可視化調試器、改進的簡單界面模式、更清晰的文檔目錄等等。
  • Python 3.8.0來了!
    :正式發布 Python 3.8.0!新版本較3.7版增加了一大波新功能和優化,來新智元 AI 朋友圈與 AI 大咖一起參與討論吧~ 今天,Python 官網宣布,正式發布 Python 3.8.0!