Javascript browserify包:如何在窗口对象内公开库?
我正在尝试将我的库绑定到一个Javascript browserify包:如何在窗口对象内公开库?,javascript,node.js,bundle,browserify,bundling-and-minification,Javascript,Node.js,Bundle,Browserify,Bundling And Minification,我正在尝试将我的库绑定到一个.js文件中,该文件可以从脚本标记加载。我想让我的库在浏览器控制台的变量下可用(换句话说,我想将它导出到窗口对象)。我如何在browserify中完成它 这是我现有的grunt browserify配置: browserify: { options: { watch: "on", banner: "<%= banner %>", browserifyOptions: { insertGlobalVars: "on",
.js
文件中,该文件可以从脚本标记加载。我想让我的库在浏览器控制台的变量下可用(换句话说,我想将它导出到窗口
对象)。我如何在browserify中完成它
这是我现有的grunt browserify配置:
browserify: {
options: {
watch: "on",
banner: "<%= banner %>",
browserifyOptions: {
insertGlobalVars: "on",
noBuiltins: true,
detectGlobals: false
}
},
dist: {
files: {
'dist/json-schema-faker.js': ['lib/index.js']
}
}
我更愿意做:
jsf.doSomething();
直接(这样将
jsf
分配给window
将是自动的)。如何做到这一点,browserify在这方面的可能性是什么?在Browserifyed代码中,您可以访问正常的窗口
变量,并且它还别名为全局
,以便与节点兼容。因此,您可以在代码末尾添加以下内容:
global.jsf = jsf;
如果您不想让
json模式伪造者始终导出自身,请将其包装在另一个模块中,重新导出jsf
,并将其附加到global
我不想包含将库附加到global
的代码,因为这也会影响node.js环境。实际上,这只会影响图书馆本身。到目前为止,我认为standalone
选项是一个更好的解决方案。
global.jsf = jsf;