Nous croyons en un avenir dans lequel le Web sera un environnement privilégié pour le calcul numérique. Pour aider à réaliser cet avenir, nous avons construit stdlib. stdlib est une bibliothèque standard, mettant l'accent sur le calcul numérique et scientifique, écrite en JavaScript (et C) pour être exécutée dans les navigateurs et dans Node.js.
La bibliothèque est entièrement décomposable et est architecturée de telle manière que vous pouvez échanger et mélanger les API et les fonctionnalités pour répondre à vos préférences et cas d'utilisation exacts.
Lorsque vous utilisez stdlib, vous pouvez être absolument certain que vous utilisez le code le plus complet, le plus rigoureux, le mieux écrit, étudié, documenté, testé, mesuré et de haute qualité.
Pour vous joindre à nous pour introduire l'informatique numérique sur le Web, commencez par nous consulter sur GitHub et envisagez de soutenir financièrement stdlib. Nous apprécions grandement votre soutien continu !
Créez un serveur HTTP jetable.
npm install @stdlib/net-disposable-http-server
var httpServer = require ( '@stdlib/net-disposable-http-server' ) ;
Crée un serveur HTTP jetable ; c'est-à-dire que le serveur se ferme immédiatement après avoir servi le contenu fourni.
var opts = {
'html' : '<script src="/bundle.js"></script>' ,
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
La fonction accepte les options suivantes :
buffer
ou string
pour servir de contenu HTML.buffer
ou string
pour servir de JavaScript.0
(c'est-à-dire attribué de manière aléatoire).=port
."0.0.0.0"
.boolean
indiquant s'il faut lancer un navigateur web. Par défaut : false
. Pour diffuser du contenu HTML, définissez l'option html
. Une fois le contenu demandé, le serveur se fermera.
var opts = {
'html' : '<h1>Beep</h1>'
} ;
httpServer ( opts ) ;
Pour servir JavaScript, définissez l'option javascript
. Si aucun HTML n'est fourni, un passe-partout HTML est servi et le JavaScript est servi en tant que /bundle.js
. Une fois le contenu demandé, le serveur se fermera.
var opts = {
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
Si HTML et JavaScript sont fournis, pour que le JavaScript soit servi, le contenu HTML doit demander le fichier /bundle.js
.
var opts = {
'html' : '<script src="/bundle.js"></script>' ,
'javascript' : 'console.log( "Boop" );'
} ;
httpServer ( opts ) ;
Pour obtenir le handle server
, fournissez un rappel.
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
ou javascript
n'est définie, le serveur sert un passe-partout HTML puis se ferme. 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 ( ) ;
}
}
Pour l'utiliser comme utilitaire général, installez le package CLI globalement
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.
L'application reconnaît les variables d'environnement suivantes :
DEBUG
: active la journalisation détaillée.PORT
: port du serveur.MAXPORT
: port maximum du serveur.HOSTNAME
: nom d'hôte du serveur.ADDRESS
: adresse du serveur.--html
ou --javascript
est défini, stdin
est supposé être de l'autre type. Par conséquent, l'indicateur --stdin
peut être omis.Pour servir un fichier HTML,
$ DEBUG= * temp-http-server --html ./examples/fixtures/index.html
...
Pour servir un fichier JavaScript (et un passe-partout HTML par défaut),
$ DEBUG= * temp-http-server --javascript ./examples/fixtures/script.js
...
En plus de la saisie de fichiers, l'application accepte la saisie standard. Pour canaliser du HTML,
$ cat ./examples/fixtures/index.html | DEBUG= * temp-http-server --port 7331 --stdin html
...
Pour diriger du HTML et charger un fichier JavaScript,
$ cat ./examples/fixtures/index.html | DEBUG= * temp-http-server --port 7331 --javascript ./examples/fixtures/script.js
...
Pour canaliser JavaScript (et servir un passe-partout HTML par défaut),
$ cat ./examples/fixtures/script.js | DEBUG= * temp-http-server --address ' 127.0.0.1 ' --stdin javascript
...
Pour diriger JavaScript et diffuser du contenu HTML personnalisé qui demande un fichier /bundle.js
,
$ cat ./examples/fixtures/script.js | DEBUG= * temp-http-server --html ./examples/fixtures/index.html
...
Ce package fait partie de stdlib, une bibliothèque standard pour JavaScript et Node.js, mettant l'accent sur le calcul numérique et scientifique. La bibliothèque fournit une collection de bibliothèques robustes et hautes performances pour les mathématiques, les statistiques, les flux, les utilitaires, etc.
Pour plus d'informations sur le projet, le dépôt de rapports de bogues et de demandes de fonctionnalités, ainsi que des conseils sur la façon de développer stdlib, consultez le référentiel principal du projet.
Voir LICENCE.
Droits d'auteur © 2016-2024. Les auteurs Stdlib.