我有以下代码,可以通过浏览器浏览到bundle.js,该代码包括(在加载任何其他.js文件之前)在我的前端。我的browserify文件就是这个:
var firebase = require('firebase')
然后,我在前端包含的下一个文件中对此变量调用authorize(),但是我收到一条错误消息,指出未定义firebase?
Browserify是一个模块捆绑程序,使您可以在浏览器中使用CommonJS(节点)模块。这意味着您的项目必须遵循CommonJS约定来导出(exports
,module.exports
)和导入(require
)模块。这是一个基本示例:
您的模块(module.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>
我是新来的浏览器。我已经按照上面的答案中的说明创建了样本main.js和module.js,bundle.js要么永不创建,要么为0KB。我不知道问题是什么。我很确定这是一个设置问题。有人可以帮忙吗?