javascript - browserify 中立即调用表达式

标签 javascript node.js browserify

我将 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/

相关文章:

javascript - 从 JavaScript 获取值到 Bean

javascript - HTMLInputElement 没有方法 'val'

javascript - 无法在 MacOS Catalina 上安装 Strongloop for Loopback v.3

node.js - 无法从 shell 连接到 mongodb

javascript - 定义所有公共(public)方法或原型(prototype)个人方法?

javascript - 在 Firefox 或 Chrome 中运行 COM 对象

javascript - Socket.io - 无法停止将所有数据传递给所有客户端

javascript - 使用 Browserify 拉入 Backbone 路由器时遇到问题

npm - Vueify 不能要求来自 node_modules 的组件

javascript - 如何访问bundle.js中的变量/函数