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)
 | 
						|
    })
 | 
						|
})()
 |