50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
|
const carlo = require('carlo');
|
||
|
const fse = require('fs-extra');
|
||
|
const urlExists = require('url-exists');
|
||
|
|
||
|
// command line arguments
|
||
|
let path = 'index.html'
|
||
|
process.argv.forEach((value, index, array) => {
|
||
|
if (index === 2) {
|
||
|
path = value
|
||
|
}
|
||
|
});
|
||
|
|
||
|
(async () => {
|
||
|
// Launch the browser.
|
||
|
const opts = {}
|
||
|
|
||
|
// Set path to custom chrome
|
||
|
const chrome = `${__dirname}/../chrome/chrome.exe`
|
||
|
if (fse.pathExistsSync(chrome)) {
|
||
|
opts.executablePath = chrome
|
||
|
}
|
||
|
|
||
|
// Launch app
|
||
|
const app = await carlo.launch(opts)
|
||
|
|
||
|
// Terminate Node.js process on app window closing.
|
||
|
app.on('exit', () => process.exit())
|
||
|
|
||
|
// Tell carlo where your web files are located.
|
||
|
app.serveFolder(`${__dirname}/../`)
|
||
|
|
||
|
// Check if URL exists
|
||
|
urlExists('https://localhost:8443', async (error, exists) => {
|
||
|
|
||
|
if (exists) {
|
||
|
console.info('Serve files via server')
|
||
|
app.serveOrigin('https://localhost:8443') // Optional
|
||
|
} else {
|
||
|
console.info('Serve files from file system')
|
||
|
}
|
||
|
|
||
|
// Expose 'env' function in the web environment.
|
||
|
await app.exposeFunction('env', _ => process.env)
|
||
|
|
||
|
// Navigate to the main page of your app.
|
||
|
console.info('Starting carlo with', path)
|
||
|
await app.load(path)
|
||
|
})
|
||
|
})()
|