เราเชื่อในอนาคตที่เว็บเป็นสภาพแวดล้อมที่ต้องการสำหรับการคำนวณตัวเลข เพื่อช่วยให้ตระหนักถึงอนาคตนี้ เราได้สร้าง 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
เพื่อใช้เป็นเนื้อหา HTMLbuffer
หรือ string
เพื่อใช้เป็น JavaScript0
(เช่น กำหนดแบบสุ่ม)=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 และให้บริการเนื้อหา HTML ที่กำหนดเองซึ่งร้องขอไฟล์ /bundle.js
$ cat ./examples/fixtures/script.js | DEBUG= * temp-http-server --html ./examples/fixtures/index.html
...
แพ็คเกจนี้เป็นส่วนหนึ่งของ stdlib ซึ่งเป็นไลบรารีมาตรฐานสำหรับ JavaScript และ Node.js โดยเน้นที่การคำนวณเชิงตัวเลขและวิทยาศาสตร์ ห้องสมุดมีคอลเลกชันห้องสมุดที่มีประสิทธิภาพและมีประสิทธิภาพสูงสำหรับคณิตศาสตร์ สถิติ สตรีม ยูทิลิตี้ และอื่นๆ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ การยื่นรายงานข้อบกพร่องและคำขอคุณสมบัติ และคำแนะนำเกี่ยวกับวิธีการพัฒนา stdlib โปรดดูที่พื้นที่เก็บข้อมูลหลักของโปรเจ็กต์
ดูใบอนุญาต
ลิขสิทธิ์ © 2016-2024. ผู้เขียน Stdlib