基于JavaScript的配置語言 - nginScript

jopen 9年前發布 | 13K 次閱讀 nginScript

 

Nginx公布了nginScript,這是一款自定義的JavaScript實現,它可以讓你在web服務器內進行動態的配置和發布。在今年的 nginx.conf 上,nginx創建了 Igor Sysoev 來演示這項新特性。

Nginx已經支持Lua基于腳本的配置,但nginScript對于具有JavaScript背景的人來說門檻更低。它通過一個根據nginx的需求自定義的虛擬機來負責語言的執行,而不依賴于已有的虛擬機,

在使用時,nginScript允許將JavaScript片段的結果用于配置。在一份緊隨聲明發表的 博客 中,Sysoev列出了幾種可能性,例如:

http {
  js_set $hello_world "
      var str = 'Hello World!';
      // JavaScript
      str;
  ";
  server {
    ...
    location /{
      return 200 $hello_world;
    }
  }
}

在本例中,這段代碼的結果是保存一個變量$hello_world,它用來響應特定路由的web請求。雖然可以使用nginScript為一個完整的基于 JavaScript的web應用服務,但那不是目的。這個新語言是JavaScript的子集,所以針對node.js之類的環境做出來現有模塊恐怕是無法工作的。 nginScript 文檔 特別指出:

我們不打算替代node.js或者其他應用平臺。nginScript的目標非常堅定,就是擴展NGINX配置,讓你對HTTP流量有更高的控制權。

Hacker News 上有各種不同的反映。用戶eknkc持 鼓勵 態度:

我認為它是一個很好的補充。我在高業務量的服務器使用了Varnish,一個原因就是它有“可視化組件庫”,這是一種類JavaScript的語言,可以用它來定義請求處理邏輯。nginx將為熟悉它的人提供許多配置選項。

但也有其他人保持謹慎樂觀。用戶 CrLf

它的用處不能讓nginx成為應用服務器。其目的是使nginx配置動態化和使用填充物防止應用膨脹,這屬于(就先這么叫吧)開發層的事。

Nginx表示他們不打算讓nginScript替代Lua,但JavaScript在社區中已經是無處不在了,如果看到它在使用上趕超了Lua也并不會令人感到驚訝。目前,nginScript正在測試中,希望可以收到你們在 mecurial 資源 中的反饋。

查看英文原文: Nginx Announces nginScript, a JavaScript-based Configuration Language

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!