우리는 웹이 수치 계산에 선호되는 환경이 되는 미래를 믿습니다. 이러한 미래를 실현하기 위해 우리는 stdlib를 구축했습니다. stdlib는 브라우저와 Node.js에서 실행하기 위해 JavaScript(및 C)로 작성된 수치 및 과학 계산에 중점을 둔 표준 라이브러리입니다.
라이브러리는 완전히 분해 가능하며, 정확한 선호도와 사용 사례에 맞게 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
...
이 패키지는 수치 및 과학 컴퓨팅에 중점을 둔 JavaScript 및 Node.js용 표준 라이브러리인 stdlib의 일부입니다. 이 라이브러리는 수학, 통계, 스트림, 유틸리티 등에 대한 강력한 고성능 라이브러리 모음을 제공합니다.
프로젝트에 대한 자세한 내용, 버그 보고서 및 기능 요청 제출, stdlib 개발 방법에 대한 지침은 기본 프로젝트 저장소를 참조하세요.
라이센스를 참조하세요.
저작권 © 2016-2024. Stdlib 작성자.