我在哪里可以在 Meteor 1.3 中安装带有 npm 的包,以便其他 npm 库可以需要它
Posted
技术标签:
【中文标题】我在哪里可以在 Meteor 1.3 中安装带有 npm 的包,以便其他 npm 库可以需要它【英文标题】:Where do I install a package with npm in Meteor 1.3 so that other npm libraries can require it 【发布时间】:2016-06-13 03:59:35 【问题描述】:我正在尝试在 Meteor 1.3 测试版中设置 cloudinary,我现在正准备购买 NPM 包。我遇到了一个更大的问题,其中一个包库中有一个声明crypto = require('crypto');
,这很好。我刚刚通过 npm 安装了加密包。但是客户仍然给我错误 Uncaught Error: Cannot find module 'crypto'
。 ……有什么建议吗?
注意,两个模块都在同一个 node_modules 目录中:
node_modules
crypto
material-ui
react
react-cloudinary
react-dom
react-mounter
react-tap-event-plugin
这尤其是 Meteor 1.3 的问题,因为我正在导入 npm 库
【问题讨论】:
【参考方案1】:如果模块 A require
s 模块 B 比模块 B 需要在模块 A 的 node_modules
目录中可用。这是 npm 和 node 做的通常的事情,你可能很熟悉。它在流星 1.3 中的工作方式相同。
如果你是模块 A 的开发者,你可以在 npm 或 npm link 中查看 peer dependencies。或者你只是在模块中运行npm install
看看是否能解决问题。
【讨论】:
那么每个模块都需要一个包含它所依赖的每个模块的目录吗?这似乎是多余的......我想我在模块目录中使用npm install
给我带来麻烦?
是的,试试吧。它看起来确实是多余的,但另一方面它有助于每个模块独立。【参考方案2】:
NPM 包 crypto 只能在服务器端使用,因为它是 NodeJS 的内置库。它是一个高性能库,因此它可能已被编译。
如果您可以更改代码,则可以改用纯 js 库来创建哈希,例如 JS Hashes。
JS Hashes 可以在客户端和服务器端使用。
【讨论】:
以上是关于我在哪里可以在 Meteor 1.3 中安装带有 npm 的包,以便其他 npm 库可以需要它的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Meteor 1.3 中通过 NPM 使用引导程序?
如何在eclipse中安装Java EE插件?请各位大侠帮忙解答。还有就是JavaEE插件在哪里可以下载