我将以下代码浏览到bundle.js,并将其包含在我的前端(在加载任何其他.js 文件之前)。我浏览器化的文件就是这样的:
var firebase = require('firebase')
然后,我在前端包含的下一个文件中对该变量调用authorize(),但收到一条错误消息,指出 firebase 未定义?
浏览器化是一个模块捆绑器,使您能够使用CommonJS浏览器中的(节点)模块。这意味着您的项目必须遵循CommonJS导出约定 (exports
, module.exports
)并导入(require
)模块。这是一个基本示例:
你的模块(模块.js)
var foo = function () {
console.log('Foo');
};
var bar = function () {
console.log('Bar');
};
module.exports = {
foo: foo,
bar: bar
};
您的入口点(main.js)
var module = require('./module');
module.foo(); // Foo
module.bar(); // Bar
此代码可以在 Node 中开箱即用,但您的浏览器无法解释它。这就是 Browserify 有用的地方......
当您运行命令时browserify main.js -o bundle.js
在你的入口点,Browserify 遍历你的所有依赖项(这里module.js
)并将它们加载到一个包中。该捆绑包可在您的浏览器中使用,因此您现在可以将其加载到脚本标记中:
<script src="bundle.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)