我們相信未來網路將成為數值運算的首選環境。為了幫助實現這個未來,我們建立了 stdlib。 stdlib 是一個標準函式庫,重點是數值和科學計算,用 JavaScript(和 C)編寫,可在瀏覽器和 Node.js 中執行。
該程式庫是完全可分解的,其架構可讓您交換、混合和匹配 API 和功能,以滿足您的確切偏好和用例。
當您使用 stdlib 時,您可以絕對確定您正在使用最徹底、最嚴格、編寫良好、經過研究、記錄、測試、測量和高品質的程式碼。
要與我們一起將數值計算帶入網絡,請先在 GitHub 上查看我們,並考慮在經濟上支援 stdlib。我們非常感謝您一如既往的支持!
建立一次性 HTTP 伺服器。
npm install @stdlib/net-disposable-http-server
var httpServer = require ( '@stdlib/net-disposable-http-server' ) ;
創建一次性 HTTP 伺服器;即,伺服器在提供所提供的內容後立即關閉。
var opts = {
'html' : '<script src="/bundle.js"></script>' ,
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
函數接受以下選項:
buffer
或string
。buffer
或string
。0
(即隨機分配)。=port
。"0.0.0.0"
。boolean
指示是否啟動網頁瀏覽器。預設值: false
。若要提供 HTML 內容,請設定html
選項。一旦請求內容,伺服器將關閉。
var opts = {
'html' : '<h1>Beep</h1>'
} ;
httpServer ( opts ) ;
若要提供 JavaScript,請設定javascript
選項。如果未提供 HTML,則會提供 HTML 樣板,而 JavaScript 將作為/bundle.js
提供。一旦請求內容,伺服器將關閉。
var opts = {
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
如果提供了 HTML 和 JavaScript,為了提供 JavaScript,HTML 內容應請求檔案/bundle.js
。
var opts = {
'html' : '<script src="/bundle.js"></script>' ,
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
若要取得server
句柄,請提供回呼。
var nextTick = require ( '@stdlib/utils-next-tick' ) ;
function onReady ( error , server ) {
if ( error ) {
throw error ;
}
nextTick ( close ) ;
function close ( ) {
server . close ( ) ;
}
}
var opts = {
'html' : html ,
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts , onReady ) ;
html
或javascript
選項都未設置,伺服器將提供 HTML 樣板,然後關閉。 var join = require ( 'path' ) . join ;
var readFileSync = require ( '@stdlib/fs-read-file' ) . sync ;
var httpServer = require ( '@stdlib/net-disposable-http-server' ) ;
var html = join ( __dirname , 'examples' , 'fixtures' , 'index.html' ) ;
var js = join ( __dirname , 'examples' , 'fixtures' , 'script.js' ) ;
var opts = {
'html' : readFileSync ( html ) ,
'javascript' : readFileSync ( js ) ,
'port' : 7331 ,
'hostname' : 'localhost' ,
'open' : false
} ;
httpServer ( opts , clbk ) ;
function clbk ( error , server ) {
if ( error ) {
throw error ;
}
// Give the user a few seconds to open her web browser before closing the server...
setTimeout ( onTimeout , 5000 ) ;
function onTimeout ( ) {
server . close ( ) ;
}
}
若要用作通用實用程序,請全域安裝 CLI 軟體包
npm install -g @stdlib/net-disposable-http-server-cli
Usage: temp-http-server [options] (--html path | --js path | --stdin type)
Options:
-h, --help Print this message.
-V, --version Print the package version.
--html path Serve HTML.
--js, --javascript path Serve JavaScript.
--stdin type Type of content: html or javascript.
-p, --port port Server port. Default: 0.
--maxport maxport Max server port. Default: `port`.
--hostname hostname Server hostname.
--address address Server address. Default: 0.0.0.0.
--open Launch a browser once server is ready.
該應用程式識別以下環境變數:
DEBUG
:啟用詳細日誌記錄。PORT
:伺服器連接埠。MAXPORT
:最大伺服器連接埠。HOSTNAME
:伺服器主機名稱。ADDRESS
:伺服器位址。--html
或--javascript
命令列標誌,則假定stdin
為另一種類型。因此, --stdin
標誌可以被省略。若要提供 HTML 文件,
$ DEBUG= * temp-http-server --html ./examples/fixtures/index.html
...
要提供 JavaScript 檔案(和預設的 HTML 樣板),
$ DEBUG= * temp-http-server --javascript ./examples/fixtures/script.js
...
除了文件輸入之外,應用程式還接受標準輸入。要管道 HTML,
$ cat ./examples/fixtures/index.html | DEBUG= * temp-http-server --port 7331 --stdin html
...
要透過管道傳輸 HTML 並載入 JavaScript 文件,
$ cat ./examples/fixtures/index.html | DEBUG= * temp-http-server --port 7331 --javascript ./examples/fixtures/script.js
...
要透過管道傳遞 JavaScript(並提供預設的 HTML 樣板),
$ cat ./examples/fixtures/script.js | DEBUG= * temp-http-server --address ' 127.0.0.1 ' --stdin javascript
...
要透過管道傳遞 JavaScript 並提供請求/bundle.js
檔案的自訂 HTML 內容,
$ cat ./examples/fixtures/script.js | DEBUG= * temp-http-server --html ./examples/fixtures/index.html
...
該軟體包是 stdlib 的一部分,stdlib 是 JavaScript 和 Node.js 標準庫,重點關注數值和科學計算。該庫提供了一系列強大的高效能庫,用於數學、統計、流、實用程式等。
有關該專案的更多資訊、提交錯誤報告和功能請求以及如何開發 stdlib 的指南,請參閱主專案儲存庫。
請參閱許可證。
版權所有 © 2016-2024。 Stdlib 作者。