Browserify无法正常工作-为什么?

问题描述 投票:2回答:2

我有以下代码,可以通过浏览器浏览到bundle.js,该代码包括(在加载任何其他.js文件之前)在我的前端。我的browserify文件就是这个:

var firebase = require('firebase')

然后,我在前端包含的下一个文件中对此变量调用authorize(),但是我收到一条错误消息,指出未定义firebase?

javascript browserify
2个回答
1
投票

Browserify是一个模块捆绑程序,使您可以在浏览器中使用CommonJS(节点)模块。这意味着您的项目必须遵循CommonJS约定来导出(exportsmodule.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>

0
投票

我是新来的浏览器。我已经按照上面的答案中的说明创建了样本main.js和module.js,bundle.js要么永不创建,要么为0KB。我不知道问题是什么。我很确定这是一个设置问题。有人可以帮忙吗?

© www.soinside.com 2019 - 2024. All rights reserved.