【问题标题】:Meteor as dependency in npm module? Error: Cannot find module 'meteor/mongo'流星作为npm模块中的依赖项?错误:找不到模块 'meteor/mongo'
【发布时间】:2019-01-26 19:18:52
【问题描述】:

我有 2 个共享模型的流星项目。我想将模型架构整合到 NPM 私有模块中。

我的模块包含以下代码:

import { Mongo } from 'meteor/mongo';
import { packageSchema } from './schema';

export const Packages = new Mongo.Collection('packages');
Packages.attachSchema(packageSchema);

export default Packages;

当我在我的父流星项目中安装这个 NPM 模块并启动服务器时,我在这个文件的第一行收到以下错误:

Error: Cannot find module 'meteor/mongo'

在 NPM 模块中安装/引用流星的正确方法是什么? (它不能作为标准的 NPM 依赖添加。)

【问题讨论】:

  • meteor/* 语法是 Meteor 映射到大气包的惯例 - 考虑到您的包不是 Meteor 应用程序,您将无法使用它。也许你可以把这个模块改成大气包,而不是 npm,直到the full transition to npm occurs
  • 谢谢。实际上,我将其作为一个安装为 git 子模块的大气包开始,但试图转移到 NPM,因为似乎没有一种干净的方法可以将大气包和 git 子模块与 heroku (devcenter.heroku.com/articles/git-submodules) 一起使用。我弄错了吗?
  • 我倾向于避免使用 git 子模块,并且没有使用 heroku 的经验,但是......您可以将您的包作为符号链接的本地项目。然后只是来自主项目的meteor add <yourpackage>(对你的项目结构做一些假设)

标签: node.js meteor npm


【解决方案1】:

我无法找到将流星包含在我的 NPM 模块中的方法。相反,我将代码放在 Atmosphere 包中,并使用 git subtree 方法将其包含在两个项目中。 (这避免了子模块和符号链接的已知问题。)

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2017-03-12
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2017-09-05
    • 2016-10-20
    相关资源
    最近更新 更多