Someone on the Phaser's Discord channel suggested the following :
two options
1) you can call a normal JS function that creates and starts the game -- this would basically just be something like
function startMiniGame() { return new Phaser.Game(...) }
and when it's over you would just destroy the game / make sure you drop all references and let it get garbage collected
2) the other option would be to start the game in a hidden div and when it's time to start it your function would just call update a boolean that your game tracks and start playing; it'd look something like
function startMiniGame() { document.getElementById('phaser-game').style.display = 'absolute'; window.gameRef.miniGameEnabled = true; }
the actual details will vary wildly and I don't remember CE well at all so none of that sample code can be used as is but those are probably your two best approaches
In the two options I don't understand where and how to put the mini-game code. What about a mini game with multiple files ?