gpt4 book ai didi

javascript - 在 Meteor 中使用具有依赖项的 NPM 包

转载 作者:行者123 更新时间:2023-11-29 15:35:46 24 4
gpt4 key购买 nike

我正在尝试在我的 meteor 项目中使用 NPM 包,但我在使用它时遇到了一些问题。

我尝试使用的模块是这个 steam 包。我为 meteor 添加了 meteorhacks:npm 包并将 packages.json 文件更改为:

{
"steam": "0.6.8",
"adm-zip": "0.4.7",
"buffer-crc32": "0.2.5",
"bytebuffer": "3.5.4",
"bufferview": "1.0.1",
"long": "2.2.3",
"protobufjs": "4.0.0-b2",
"ascli": "1.0.0",
"optjs": "3.2.1-boom",
"colour": "0.7.1"
}

(为了澄清上面的内容,它是带有所有依赖项的 steam 包以及依赖项的依赖项)

现在我尝试在我的 meteor 应用程序中使用这个包,这段代码位于 -/server/steambot/steambot.js

var Steam = Meteor.npmRequire('steam');
var bot = new Steam.SteamClient();
bot.logOn({ // (fake credentials)
accountName: 'a',
password: '123456789',
authCode: 'aaa55',
shaSentryfile: 'aaa'
});

我希望它会这么简单,但错误开始了。

var cryptedSessKey = require('crypto').publicEncrypt(fs.readFileSync(__dirna TypeError: Object # has no method 'publicEncrypt'

我发现是 steam 和依赖包的 require() 函数导致了这些错误。如果我将 require() 替换为 Meteor.npmRequire() 我只需转到其中一个 NPM 包中的 next require() 函数.

有没有办法在不将每个 require() 函数更改为 Meteor.npmRequire() 的情况下解决这个问题?

即使我应该这样做,最好的方法是什么?

我对 NPM 和 Meteor 世界也很陌生,这种工作流程是我应该做的吗和/或我可以做出或记住的任何改进?

最佳答案

更新:截至 2016 年 7 月,Meteor 1.4 使用 Node 4.4.7,它支持流 npm 包(需要 4.1.1+)

Steam NPM 插件不适用于 Meteor。

NPM 包页面 ( https://www.npmjs.com/package/steam ) 指出:

Note: only Node.js v0.12 and io.js v1.4 are supported.

Meteor 使用的是旧版本的 NodeJS。例如。 Meteor v1.0.4(2015 年 3 月 17 日)使用 v0.10.36

Meteor 的发布周期非常短,但考虑到 Meteor v0.8.1.1(2014 年 5 月 1 日)使用的是 Node v0.10.26,我怀疑 Node v0.12 是否会很快得到支持。

关于javascript - 在 Meteor 中使用具有依赖项的 NPM 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com