我将 browserify 与 node.js 结合使用,以便我可以在 js 文件中使用 require()。
我的 game.js 中有这段代码:
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'snakeGame');
var menuState = require('./menuState.js');
var gameState = require('./gameState.js');
game.state.add('menuState', menuState);
game.state.add('gameState', gameState);
game.state.start('menuState');
如果我执行browserify game.js -o bundle.js
,这段代码将被包装在立即调用的表达式中,并且所有必需的js文件或多或少都连接到该包.js
如何在我所需的所有 js 文件中使用游戏变量?由于bundle.js var game
位于 IIFE 范围内,因此我无法访问它。我怎样才能把它放在这个范围之外?
编辑:我认为迈克 c 的解决方案也会有效。但我有点愚蠢,所以我只需在前面没有 var 的情况下全局定义游戏,这就成功了......
最佳答案
通过将其附加到 window
对象。
window.game = game;
关于javascript - browserify 中立即调用表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558504/