下面是我用來在node.js中加載proto文件的步驟。總的來說,我如何獲得協議緩衝區來處理node.js?Node.js,協議緩衝區和ubuntu - 如何讓它工作?
1)Dowloaded和安裝協議緩衝區到這個位置。
/home/ubuntu/Downloads/protobuf-2.4.1
2)從此回購下載了這個protobuf-for-node修復程序。我將該文件夾放置在我的node.js應用程序文件夾的node_modules文件夾中。
git://github.com/pzgz/protobuf-for-node.git
3)然以下命令
cd node_modules/protobuf-for-node
PROTOBUF=~/Downloads/protobuf-2.4.1 /usr/local/bin/node-waf configure clean build
4)提出下列文件到這些位置:
cp node_modules/protobuf-for-node/protobuf_for_node.h /usr/local/include/node
cp node_modules/protobuf-for-node/build/Release/protobuf_for_node_lib.so /usr/local/lib
5)然以下構建feeds.proto例子附帶node.js的船舶
cd node_modules/protobuf-for-node/example
protoc --descriptor_set_out=feeds.desc --include_imports feeds.proto
6)在應用程序中,我添加了這一行。
var express = require('express'), routes = require('./routes');
var fs = require('fs');
var puts = require('util').puts;
url = require('url');
moment = require('moment');
var uuid = require('node-uuid');
var app = module.exports = express.createServer();
var Schema = require('protobuf_for_node').Schema;
var schema = new Schema(fs.readFileSync('/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/protobuf-for-node/example/feeds.desc'));
7)這是我的錯誤。
module.js:337
throw new Error("Cannot find module '" + request + "'");
^
Error: Cannot find module 'protobuf_for_node'
at Function._resolveFilename (module.js:337:11)
at Function._load (module.js:279:25)
at Module.require (module.js:359:17)
at require (module.js:375:17)
at Object.<anonymous> (/home/ubuntu/app.js:9:14)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:31)
at Function._load (module.js:311:12)
at Array.0 (module.js:484:10)
它的名字可能是protobuf – Mustafa
Tried..nope ...這行代碼來自google示例。 var Schema = require('protobuf_for_node')。Schema; – Tampa