cordova-serve
![NPM](https://nodei.co/npm/cordova-serve.png)
![Node CI](https://github.com/apache/cordova-serve/workflows/Node%20CI/badge.svg?branch=master)
This module provides a JavaScript API to serve up a Cordova application in the browser.
API Example:
const cordovaServe = require('cordova-serve')();
cordovaServe.launchServer(options);
cordovaServe.servePlatform(platform, options);
cordovaServe.launchBrowser(options);
API Methods
launchServer()
Launches a local HTTP server.
Code Example:
const cordovaServe = require('cordova-serve')();
cordovaServe.launchServer(options).then(function () {
const { server, port, root } = cordovaServe;
...
}, error => {
console.log(`An error occurred: ${error}`);
});
Parameters:
- options: described below in the following section "launchServer & servePlatform Options".
Return:
Returns a resolved or rejected promise depending on if the server had launched successfully.
On a fulfilled promise, the following properties are available on the returned object:
Property | Description |
---|
serve | The Node http.Server instance. |
root | The root that was specified, or cwd if none specified. |
port | The port that was used. (Either the requested port, the default port of 8000 , or the incremented value of the chosen port when the chosen port is already in use). |
servePlatform()
Launches a server that serves up any Cordova platform (e.g. browser
, android
, etc) from the current project.
Code Example:
const cordovaServe = require('cordova-serve')();
cordovaServe.servePlatform(platform, options).then(() => {
const { server, port, projectRoot, root } = cordovaServe;
...
}, error => {
console.log(`An error occurred: ${error}`);
});
Parameters:
- options: described below in the following section "launchServer & servePlatform Options".
Return:
Note that for servePlatform()
, the root
value should be a Cordova project's root folder or any folder within it. servePlatform()
will replace it with the platform's www_dir
folder. If this value is not specified, the cwd will be used.
Returns a resolved or rejected promise depending on if the server had launched successfully.
On a fulfilled promise, the following properties are available on the returned object:
Property | Description |
---|
serve | The Node http.Server instance. |
root | The requested platform's www folder. |
projectRoot | The root folder of the Cordova project. |
port | The used port. requested port, the default port 8000 , or incremented value of the chosen port when already in use). |
launchBrowser()
Launches a browser window pointing to the specified URL.
Code Example:
const cordovaServe = require('cordova-serve')();
cordovaServe.launchBrowser(options).then(
stdout => {
console.log(`Browser was launched successfully: ${stdout}`);
},
error => {
console.log(`An error occurred: ${error}`);
}
);
Parameters:
Options | Description |
---|
url | The URL to open in the browser. |
target | The browser identifier to launch. Valid identifier: chrome , chromium , firefox , ie , opera , safari . (Default: chrome .) |
Return:
Returns a resolved or rejected promise depending on if the browser had launched successfully.
launchServer & servePlatform Options
The options
object passed to launchServer()
and servePlatform()
supports the following values (all optional):
Options | Description |
---|
root | The file path on the local file system that is used as the root for the server, for default mapping of URL path to the local file system path. |
port | The port for the server. Note that if this port is already in use, it will be incremented until a free port is found. |
router | An ExpressJS router. If provided, this will be attached before default static handling. |
noLogOutput | If true, all log output will be turned off. |
noServerInfo | If true , the Static file server running on... message will not be outputed. |
events | An EventEmitter to use for logging. If provided, logging will be output using events.emit('log', msg) . If not provided, console.log() will be used. Note that nothing will be output in either case if noLogOutput is true . |