如何访问browserify脚本中声明的变量

时间:2014-04-02 21:14:17

标签: javascript browserify

所以我有这个脚本' source.js'。

var m = require("somemodule");

然后我用browserify构建它:

$ browserify source -o build.js

有没有办法在chrome | firefox控制台中访问m? 由于node.js封装,m不是全局的......

2 个答案:

答案 0 :(得分:2)

browserify将事物包装在一个闭包中,特别是限制范围(如节点。)

使用全局(如节点)或窗口将内容注入共享范围。您还可以再次需要(比如节点)来获取缓存的范围(相同的对象。)

因此,这是在节点或browserify中共享范围的技巧:

var m = require('m');
m.cool = true;

// in another file
var m = require('m');
console.log(m.cool);

要将其提升到全局空间,您可以在该browserify构建链中所需的任何脚本中添加global.m = require('m'),以将其添加到全局命名空间(在browserify中解析为window。)< / p>

如果您想直接公开它,也可以在somemodule上使用browserify --standalone

答案 1 :(得分:1)

var m= require('m');

window.M= m;
浏览后,

var moduleM = new M();