如何让 minimongo.js 在浏览器中运行?

2024-05-07

The minimongo 的 github 演示 https://github.com/mWater/minimongo陈述为

客户端 mongo 数据库,通过 http 与服务器同步

还有一个还有一个minimongo-独立 https://github.com/rurri/minimongo-standalone提供 minimongo.min.js 其中指出:

您也可以下载 minimongo.min.js,将其放在您的 服务器,并在源中引用它。

对于浏览器

<script src="/js/minimongo.min.js"></script>

我之前使用过 d3.js,它的打包方式使得 .js 文件既可以在 Web 浏览器中作为 lib 运行,又可以在节点上作为 npm 包运行。

所以我在本地尝试了新下载的minimongo.js构建经典网页indexeddb在 Chrome 中就像我在 D3.js 中所做的那样。它给出了类似的东西(jsfiddle https://jsfiddle.net/7fehe9ey/5/) :

<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>MiniMongo</title>
    <script src="https://rawgit.com/rurri/minimongo-standalone/master/minimongo.min.js"></script>
    <!-- https://github.com/rurri/minimongo-standalone/blob/master/minimongo.min.js -->
  </head>
  <body></body>
  <script>
    // Require minimongo
    var minimongo = require("minimongo");
    var LocalDb = minimongo.MemoryDb;
    // Create local db (in memory database with no backing)
    db = new LocalDb();
    // Add a collection to the database
    db.addCollection("animals");
    doc = { species: "dog", name: "Bingo" };
    // Always use upsert for both inserts and modifies
    db.animals.upsert(doc, function() {
      // Query dog (with no query options beyond a selector)
      db.animals.findOne({
        species: "dog"
      }, {}, function(res) {
        console.log("Dog's name is: " + res.name);
      });
    });

  </script>
</html>

它返回错误:

Uncaught ReferenceError: _ is not defined
    at minimongo.min.js:1
    at minimongo.min.js:3
Uncaught ReferenceError: require is not defined
    at (index):5911
Uncaught ReferenceError: _ is not defined
    at (index):91
    at window.onload ((index):5889)

我错过了什么或误解了什么? 如果可能的话如何让它发挥作用?


一些东西

1. 依赖关系

如果您阅读了README.MD of minimongo-standalone, 它说

要求

下划线,异步

因此,您需要在页面上包含这两个库minimongo脚本标签。

<head>
  <script src="https://link/to/underscore.js"></script>
  <script src="https://link/to/async.js"></script>
  <script src="https://rawgit.com/rurri/minimongo-standalone/master/minimongo.min.js"></script>

值得一提的是,您需要获取这些库的浏览器版本。看起来async不要使用通用模块定义(UMD),因此为不同的目标提供单独的文件。


2. 要求

功能require除非您使用 browserify 或其他 commonJS 模块加载框架,否则不存在。

我没查过async or underscore,但如果不存在模块系统,大多数库将回退到浏览器中的普通全局变量。

包含三个脚本标签后,您应该能够全局访问 minimongo-standalone 的导出符号


3. minimongo-standalone有一个非常不同的 APIminimongo

令人沮丧的一点;minimongo-standalone实施Meteor周围的包装纸minimongo,然后再次重命名它们。 这意味着任何minimongo or Meteor代码不可直接转让。

好的部分是 API 更加简单。您的示例的等效代码是

// Create collection
var animals = new LocalCollection('animals');
// Insert/update a document

var doc = { species: "dog", name: "Bingo" };
animals.upsert('dog', doc);

// Fetch document and log
var myDog = animals.findOne({ species: "dog" });
console.log("Dog's name is: " + myDog.name);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 minimongo.js 在浏览器中运行? 的相关文章

  • 如何更改Accounts-UI模板?

    根据望远镜 http demo telesc pe 例子 源代码 https github com SachaG Telescope 可以显示自定义的 account ui 表单 参见他的用户登录 html https github com
  • “栅栏已经激活——来不及添加写入”

    下面的错误信息是什么意思 栅栏已经激活 来不及添加写入 以下是如何获取它的示例 环境 Mac OS X http en wikipedia org wiki Mac OS X Lion 流星0 3 8 项目创建 meteor create
  • 流星合并同一集合的光标

    在我的社交应用程序 如 FB 中 我有一个奇怪的需要 将同一集合用户的两个光标合并到一个发布中 Meteor 服务器打印此错误 发布函数为集合用户返回了多个游标 也许这在 Meteor 0 7 2 中无法完成 也许我的方法是错误的 但我发现
  • 发现 Meteor - mrt 添加引导程序 - 安装错误

    我刚刚开始发现流星教程 当我尝试 mrt add bootstrap 我收到以下错误 usr local lib node modules meteorite lib project js 225 throw Package named p
  • 使用forever运行meteor生成的节点包的正确语法是什么?

    在文档中 在您自己的服务器上运行meteor的过程是运行 meteor bundle bundle tgz 然后提取这个 tarball tar xzvf bundle tgz 然后启动一个节点服务器 MONGO URL mongodb l
  • 如何更新 Meteor Collection/minimongo 中一个文档的数组中多个对象的属性?

    我的问题几乎与此重复question https stackoverflow com questions 36026517 how to update multiple array objects in mongodb 不同之处在于我在 M
  • 流星和陨石(mrt)有什么区别?

    例如 有些网站告诉我使用mrt add accounts ui 使用陨石 对吧 其他人说meteor add accounts ui 据我了解 陨石 https github com oortcloud meteorite只是一个版本控制
  • Chimpjs 和 Meteor:不使用 Velocity 的测试中的方法调用

    此应用程序显示了使用 Cucumber 测试 Meteor 的示例 https github com mhurwi cucumber meteor tutorial https github com mhurwi cucumber mete
  • 编写/转换 Meteor 同步函数

    这已经困扰我一段时间了 所以我想我应该对其进行快速的质量检查 如果有一个普通的nodeJS模块或其他东西 并且它在服务器端有一个异步功能 我如何使其同步 例如我如何转换nodejsfs stat异步函数转为同步函数 例如我有 服务器端js
  • 如何使用 Meteor Spacebars 模板动态渲染 HTML?

    假设我正在存储 div name div and div age div 在我的数据库中 然后我想获取第一个 HTML 字符串并将其呈现在模板中 gt template1 它只渲染第一个字符串 name 车把在里面 然后我想给出新生成的模板
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 如何获取模板的所有实例?

    我知道我可以通过这样做获得一个模板实例Blaze getView node 但我怎样才能找到所有实例Template foo 如果我们借行走DOM http www javascriptcookbook com article Traver
  • Meteor 抛出 throwIfSelectorIsNotId 异常

    运行某些代码时 Meteor 会抛出 throwIfSelectorIsNotId 异常 我有两个客户端运行相同的代码 当第二个客户端运行相同的代码时会引发异常 无法弄清楚这个异常的含义以及抛出的原因 希望有人能够解释一下 对于客户端上的某
  • Meteor 用户属性

    我希望能够在 Meteor 身份验证系统中将用户标记为 管理员 并允许该用户执行特殊操作 以及显示一些如果他们不是管理员则不会显示的 gui 元素 我已经尝试在用户对象上设置一个 admin 属性 这在服务器端可以正常工作 对于管理操作的
  • 带有 mrt 的流星 - 铁:路由器:没有这样的包

    我在学meteor 0 8 3并尝试使用一些基本的路由设置铁路由器 https github com EventedMind iron router My smart json包含 packages iron router git http
  • 如何将环境变量 PACKAGE_DIRS 链接到我的本地私有包?

    我正在尝试设置一个环境变量 以便当我正在处理 Meteor 应用程序时 并且我想将本地私有包链接到我的项目 Meteor 将查找我在本地环境中创建的包目录 我做的第一件事是创建一个包目录并向其中添加一个基本的测试包 Users scotty
  • MongoDB:如果使用 $addToSet 或 $push,是否应该预先分配文档?

    我一直在研究 MongoDB 我知道强烈建议在插入时完全构建 预分配 文档结构 这样将来对该文档的更改不需要移动该文档磁盘周围 这在使用 addToSet 或 push 时适用吗 例如 假设我有以下文档 id rsMH4GxtduZZfxQ
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • 如何让 Grunt.js 和 Meteor.js 协同工作?

    我想在我的 Meteor 应用程序中使用简单的复制和串联 但是当 Meteor 在服务器和客户端上运行所有 javascript 文件时 我遇到了问题 而我不希望它们在任何地方运行 它要么只是配置文件 例如Gruntfile js或我想以某

随机推荐

  • JSON 响应周围的注释块

    我注意到一些 Web 应用程序返回 AJAX 响应 并在注释块中嵌入 JSON 数据 例如 这是一个示例响应 firstName John lastName Smith address streetAddress 21 2nd Street
  • 服务器端 Google 标记聚类 - Python/Django

    在尝试使用客户端方法来聚类大量 Google 标记后 我认为这对于我的项目 拥有 28 000 多名用户的社交网络 来说是不可能的 是否有在服务器端对坐标进行聚类的示例 最好是在 Python Django 中 我希望它的工作方式是根据标记
  • 类似 wget 的 BitTorrent 客户端或库? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否有任何
  • CPU是如何做减法的?

    我有一些基本的疑问 但每次我坐下来尝试面试问题时 这些问题和我的疑问就会出现 假设 A 5 B 2 假设A和B都是4字节 那么CPU是怎么做的呢 A B添加 我知道 A 的符号位 MSB 为 0 表示正值 B 的符号位为 1 表示负整数 现
  • 创建超过 2 组的高图表密度

    我尝试用两个以上的组创建高图表密度 我找到了一种手动将它们逐一添加的方法 但必须有更好的方法来处理组 示例 我想创建一个类似于下面的ggplot图表的highchart 而不需要将它们一一添加 有什么办法可以做到吗 d f lt data
  • 无法使用 Android 版 VLC 设置字幕

    启动 Android 版 VLC 的 VideoPlayerActivity 时 我在设置字幕位置时遇到问题 我的目标是 API 27 并使用 FileProvider 来允许访问文件 根据文档here https wiki videola
  • 从多页表单中获取活动控件名称和值

    我已经在网上寻找解决方案几个月了 但没有成功 我创建于Excel 2010 a UserForm与多页 我正在尝试编写一个函数来获取activecontrol名称和值 到目前为止 我已经成功使用此命令获取了控件的名称Me MultiPage
  • pyPDF通过django合并并显示为httpresponse

    我在合并 pyPDF 逻辑以将两个 pdf 文件合并到我的 django 站点时遇到问题 我编写了在本地服务器上的 python 文件中运行时用于合并文件的代码 但我需要明确识别要合并的文件 from pyPdf import PdfFil
  • 如何通过VBA刷新所有单元格

    有没有办法触发 从VBA Excel要求它重新评估所有Excel单元格 谢谢 The 计算 http msdn microsoft com en us library aa223802 28office 11 29 aspx方法可以重新计算
  • 最初从位图泄漏未引用的 byte[] 但被回收()导致内存泄漏(直到活动停止)

    我有位图内存泄漏导致内存不足 我在 Android 5 0 三星 S5 上运行了测试 我已经使用 Android Studio 1 5 1 2 0 0 Preview 7 调查了这个问题 HPROF 内存转储显示有多个 byte 与我暂时使
  • XTS to.weekly 返回不同的每周端点

    我有一个问题endpoints 函数于xts 还有to weekly函数 使用端点 有时返回星期五作为周末 有时返回星期一 我的数据集叫做sp2 gt head sp2 1 2012 01 09 1 78 2012 01 10 1 78 2
  • 将角半径应用于 Storyboard 内的特定 UIView 角并不适用于所有角

    我为此创建了一个自定义类 但它仅适用于左上角 不适用于其他位置 IBDesignable public class RoundedView UIView IBInspectable public var topLeft Bool false
  • 在 python 中使用 numpy.linalg.eig 后对特征值和关联的特征向量进行排序

    我使用 numpy linalg eig 来获取特征值和特征向量的列表 A someMatrixArray from numpy linalg import eig as eigenValuesAndVectors solution eig
  • 如何使用 Javascript 弹出一个新窗口,其 html 与其父窗口几乎相同

    我想从单个页面创建多个版本的适合打印的页面 我正在考虑这样做 在原始页面上放置几个按钮 然后单击一个按钮将弹出一个新窗口 其html与其父窗口相同 但进行了一些修改 例如 将某些DIV的显示属性设置为没有任何 可以使用javascript来
  • 比较通用列表和数组

    为什么 generic list 比 array 慢 通用列表比数组稍慢 但在大多数情况下您不会注意到 主要与稍微复杂的查找有关 据说 List 在幕后 使用数组 但不能保证以与数组相同的方式将节点保留在相邻内存中 然而 我早在 2005
  • 广告过滤服务器端[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 Web 应用程序 在其中显示来自其他网站的 HTML 在显示最终版本之前 我想去掉广告 关于如何实现这一目标有什么想法
  • 在哪里可以找到 Qt 的 dll 的 pdb 文件?

    我正在调试 Qt 应用程序 在哪里可以找到 Qt 的调试 dll 我在windows上使用的是vs2010 它说它需要 Qt 中的许多 dll 的 pdb 文件 从 Qt 5 9 开始 与 Windows 发行版相对应的 PDB 可作为单独
  • 如何在派生类中引用基类的属性?

    我可以做这个 class Blah2 atttr 5 aa atttr ob Blah2 print ob aa http ideone com pKxMc2 http ideone com pKxMc2 所以我想我也可以这样做 class
  • UIView 被状态栏剪切直到自动旋转

    我创建了一个多视图应用程序 它使用多个控制器来显示和控制视图 我遇到的问题是 当模拟器最初加载视图时 标题部分被屏幕顶部的栏覆盖 并且底部的工具栏没有接触屏幕的底部 我使用界面生成器大小属性来控制 iPhone 旋转时的视图 效果非常好 旋
  • 如何让 minimongo.js 在浏览器中运行?

    The minimongo 的 github 演示 https github com mWater minimongo陈述为 客户端 mongo 数据库 通过 http 与服务器同步 还有一个还有一个minimongo 独立 https g