Browserify 不起作用 - 为什么?

2024-01-08

我将以下代码浏览到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(使用前将#替换为@)

Browserify 不起作用 - 为什么? 的相关文章

随机推荐

  • Qt QAbstractItemModel - 项目删除崩溃

    我正在使用 Qt 类编写一个应用程序 其中我有一个层次结构 并且需要在树视图中显示它 我正在使用 QTreeView 小部件 数据本身如下所示 class StatisticsEntry additional data management
  • 如何在 vim 中操作搜索和替换中的字符大小写?

    例如 我有 double foo 0 0 double bar 0 0 我想编写某种搜索来查找每个变量并将其更改为 double Foo 0 0 double Bar 0 0 我不想一次执行这些一个变量 例如 s foo Foo g 而是一
  • Spring Boot 应用程序 + Kubernetes 活跃性/就绪性检查

    我正在构建一些部署在 Kubernetes 特别是 AKS 集群中的 Spring Boot 微服务 我正计划设置probePaths活跃度和准备度检查执行器运行状况端点的两个点 但想知道这是否不是最佳选择 我最初的想法是 检查路径会很有用
  • 如何使用 AngularJS 观察控制器中的原始服务变量?

    我正在尝试使用 watch 来实现它 watch 主体在页面初始化时触发 在 newValue 中未定义 并且在单击 btnChangeIsLoggedIn 时不触发 div div
  • 使用 Azuredevops 管道批量更新 Azure 资源标签

    我按照答案创建了一个管道here https stackoverflow com questions 74684267 how to loop inside one object type parameters again in azure
  • Javascript 中的 C 解析器

    我想用 Javascript 解析 C 头文件 有这样的图书馆吗 否则 有什么建议可以帮助我开始吗 Update 我的最终目标是自动构建接口node ffi https github com rbranson node ffi 解析器不一定
  • C++ 如何查看文件的最后修改时间

    我正在缓存文件中的一些信息 并且希望能够定期检查文件的内容是否已被修改 以便我可以在需要时再次读取该文件以获取新内容 这就是为什么我想知道是否有一种方法可以在 C 中获取文件的上次修改时间 没有特定于语言的方法可以做到这一点 但是操作系统提
  • 如何从MySQL旧密码升级到新密码系统

    我在 mysql server 5 0 中有很多用户 权限 我想将它们全部转移到新的 MySQL 服务器 5 5 中 但密码是旧格式 在 mysql user 表中 所以我想将所有旧密码转换为新格式 有没有办法在不更改MySQL密码的情况下
  • 如何使用 Azure DocumentDB 执行 UPSERT?

    Azure DocumentDB 不支持 UPSERT 是否有合理的解决方法来实现相同的功能 使用存储过程检查文档是否存在以确定是否应该执行插入或更新是否是一种有效的策略 如果我需要批量执行数千个这样的操作怎么办 在这里为该功能投票 htt
  • Android ASync 任务 ProgressDialog 在后台线程完成之前不会显示

    我有一个 Android 活动 它从 URL 获取 RSS 提要 并使用 SAX 解析器将 XML 中的每个项目粘贴到数组中 这一切都工作正常 但正如预期的那样 需要一些时间 所以我想使用 AsyncActivity 在后台执行此操作 我的
  • Android 中的 sendStickyBroadcast 和 sendBroadcast 有什么区别

    有什么区别sendStickyBroadcast and sendBroadcast在安卓中 Android SDK 是这么说的sendStickyBroadcast http developer android com reference
  • 从 ASP.NET 应用程序将文件直接上传到 Amazon S3

    我的 ASP NET MVC 应用程序将占用大量带宽和存储空间 如何设置 ASP NET 上传页面 以便用户上传的文件将直接发送到 Amazon S3 而不使用我的 Web 服务器的存储和带宽 2016 年 2 月更新 AWS SDK 现在
  • Angular 2:使用函数生成路由链接/动态生成routerLink

    我想动态创建路线链接 我已经随页面加载了 html 但是 我需要在 URL 中使用 id 该 id 稍后可用 HTML a href Add Content to Cartoon Box a 此路由链接中的链接包含卡通盒的 id carto
  • 如何在Windows 7中控制和调节音量?

    我想在C Win Form中控制和调整Windows 7的音量 任何提示 这是如何做到的 看看这里 http www geekpedia com tutorial176 Get and set the wave sound volume h
  • 从时间戳列中选择日期范围

    目前我的表有一列用于存储日期和时间 该列的数据类型是没有时区的时间戳 所以它的值格式为 2011 09 13 11 03 44 537 我需要检索与日期有关的行 如果我使用 select from table where mdate gt
  • 如何在特定日期用 PHP 和 MySQL 发送邮件?

    我在用PHP and MySQL 我正在尝试发送邮件 但无法正常工作 我想检查两个日期并在特定日期发送邮件 if isset POST mail sub selectDate select from insurance data query
  • wordpress - 使自定义字段值可单击以便稍后检索

    我想在 WordPress 管理面板的所有帖子页面添加一个自定义列 场景是 每个帖子都有一个特色图片 当我查看管理面板中的所有帖子页面时 我有一个自定义列 即 并且每行都有值 我想单击特定行的列值以使其被选中并具有不同的外观 即粗体字体 然
  • HotJar 如何生成他们的录音?

    跟踪鼠标移动 滚动 单击事件很容易 但它们如何保存屏幕并保持同步 页面渲染得非常好 至少对于静态 HTML 页面 尚未在 Angular 或任何 SPA 上进行测试 同步几乎是完美的 要生成并上传 23fps 的屏幕录制 1920x1080
  • Snakemake 通配符:使用目录输出中的通配符文件

    我是 Snakemake 的新手 并尝试在规则中使用特定文件 来自directory 克隆 git 存储库的另一个规则的输出 目前 这给了我一个错误Wildcards in input files cannot be determined
  • Browserify 不起作用 - 为什么?

    我将以下代码浏览到bundle js 并将其包含在我的前端 在加载任何其他 js 文件之前 我浏览器化的文件就是这样的 var firebase require firebase 然后 我在前端包含的下一个文件中对该变量调用authoriz