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

ale*_*ver 9 javascript browserify

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

var m = require("somemodule");
Run Code Online (Sandbox Code Playgroud)

然后我用browserify构建它:

$ browserify source -o build.js
Run Code Online (Sandbox Code Playgroud)

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

kon*_*mer 4

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

使用全局(如节点)或窗口将事物注入共享范围。您还可以再次要求某些东西(例如节点)来获取缓存的范围(同一对象。)

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

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

// in another file
var m = require('m');
console.log(m.cool);
Run Code Online (Sandbox Code Playgroud)

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

browserify --standalone如果您想直接公开它,也可以在某些模块上使用。