gpt4 book ai didi

javascript - meteor /Node -gd & ReferenceError : require is not defined

转载 作者:行者123 更新时间:2023-11-30 17:19:06 24 4
gpt4 key购买 nike

我有一些关于 node-gd 和 Meteor 的相关问题。

前几个问题。我试过安装 node-gd在我认为正确的地方。

这看起来像是我将它安装到正确的位置以便与 Meteor 一起使用吗?

我应该担心输出中的警告吗?

me@ubuntu:/usr/local/lib$ sudo npm install node-gd
npm http GET https://registry.npmjs.org/node-gd
npm http 304 https://registry.npmjs.org/node-gd

> node-gd@0.2.3 install /usr/local/lib/node_modules/node-gd
> node-gyp rebuild

make: Entering directory `/usr/local/lib/node_modules/node-gd/build'
CXX(target) Release/obj.target/node_gd/cpp/node-gd.o

../cpp/node-gd.cpp: In static member function ‘static v8::Handle<v8::Value> Gd::Image::StringFTBBox(const v8::Arguments&)’:
../cpp/node-gd.cpp:1045:22: warning: variable ‘color’ set but not used [-Wunused-but-set-variable]
REQ_INT_ARG(0, color);
^
../cpp/node-gd.cpp:41:7: note: in definition of macro ‘REQ_INT_ARG’
int VAR; \
^
SOLINK_MODULE(target) Release/obj.target/node_gd.node
SOLINK_MODULE(target) Release/obj.target/node_gd.node: Finished
COPY Release/node_gd.node
make: Leaving directory `/usr/local/lib/node_modules/node-gd/build'
node-gd@0.2.3 node_modules/node-gd
me@ubuntu:/usr/local/lib$ ls
node_modules python2.7 python3.4
me@ubuntu:/usr/local/lib$ cd node_modules/
me@ubuntu:/usr/local/lib/node_modules$ ls
meteorite node-gd

我正在将坐标传回服务器,我想使用 node-gd 来操作服务器上的图像。

这是我的 Meteor 方法:

Meteor.methods({
createImage: function(coords) {
console.log('createImage')
console.log(coords.x);

var gd = require('gd');
}
});

当我尝试运行这个函数时,我在我的终端上得到了这个:

I20140826-06:44:18.166(-7)? Exception while invoking method 'createImage' ReferenceError: require is not defined
I20140826-06:44:18.166(-7)? at Meteor.methods.createImage (app/server/server.js:7:15)
I20140826-06:44:18.167(-7)? at maybeAuditArgumentChecks (packages/livedata/livedata_server.js:1487)
I20140826-06:44:18.167(-7)? at packages/livedata/livedata_server.js:643
I20140826-06:44:18.168(-7)? at _.extend.withValue (packages/meteor/dynamics_nodejs.js:56)
I20140826-06:44:18.168(-7)? at packages/livedata/livedata_server.js:642
I20140826-06:44:18.168(-7)? at _.extend.withValue (packages/meteor/dynamics_nodejs.js:56)
I20140826-06:44:18.168(-7)? at _.extend.protocol_handlers.method (packages/livedata/livedata_server.js:641)
I20140826-06:44:18.168(-7)? at packages/livedata/livedata_server.js:541

this question 的答案建议各种 JS 解决方案。这是我需要的吗,谁能推荐什么最适合用于服务器和客户端的 Meteor?

最佳答案

您不能通过这种方式将 NPM 模块添加到 meteor,您应该使用来自 meteorhacks 的 npm 大气包:http://atmospherejs.com/package/npm

你需要做的是通过 meteorite 安装包:

mrt add npm

然后在您的项目根目录中添加一个 packages.json 并指定 node-gd依赖:

{
"node-gd":"0.2.3"
}

最后,在您的服务器代码中使用 Meteor.require 来访问 node-gd API。

请注意 Meteor 服务器端编程使用 Fibers所以你必须将异步 API 调用包装到 node-gd使用 Meteor._wrapAsyncAsync utilities 的集合随 npm 气氛包一起提供。

这是一篇关于理解这一点的好文章:https://www.discovermeteor.com/blog/understanding-sync-async-javascript-node/

您不能在客户端上使用 NPM 包。

关于javascript - meteor /Node -gd & ReferenceError : require is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508145/

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