【问题标题】:how to manually use an "internal" meteor package?如何手动使用“内部”流星包?
【发布时间】:2020-04-01 00:49:01
【问题描述】:

我正在使用流星并且我安装了帐户密码包,所以它带有 bcrypt。 好东西,因为我想用它来手动散列一些其他数据。

我的 packages.json 中有这个包(“bcrypt”:“^4.0.1”),我可以在 ./.meteor/packages/npm-bcrypt 中看到它的文件夹

但是我不知道如何“手动”使用它。我尝试导入,我尝试简单地使用 bcrypt.hash() 但它抛出一个错误,说它是未定义的。试过 const bcrypt = require('bcrypt');

我该怎么做?

【问题讨论】:

  • 如果未定义但您已正确导入,则可能是另一个错误导致这是后续错误。除非您的代码中存在其他问题,否则提供的答案中的代码应该可以工作。
  • 您是否尝试从客户端导入? bcrypt 依赖于已编译的插件,因此仅服务器端
  • 在客户端上是的。我不希望服务器上的非散列信息。我通过使用流星 npm 添加 bcryptjs 来管理它

标签: meteor bcrypt meteor-packages


【解决方案1】:

您还需要将此 npm 安装到您自己的项目中

meteor npm install --save bcrypt

然后将import 用于您的来源,例如

import bcrypt from 'bcrypt';

// this is equivalent to the standard node require:
const bcrypt = require('bcrypt');

在流星指南中阅读更多信息

https://guide.meteor.com/using-npm-packages.html

祝你好运

【讨论】:

  • 嗯,我明白了,但我想我可以避免它,因为它已经在我的包裹中。文件在这里。如果我 npm install 它,我不会有两次代码吗?
  • 在适当的开发过程中,但在运行“构建”时,我知道它会被优化。
  • build 不是那么聪明,会很乐意捆绑重复。谢天谢地,因为 bcrypt 已经在 package.json 中,所以它不是重复的,所以只会捆绑一次!
  • 感谢您清除 @fred-stark - 无论如何 eagle1 应该可以解决您的问题 - 请注意 fred 关于客户端和服务器使用情况的评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
  • 2013-11-11
  • 2015-07-16
相关资源
最近更新 更多