The Node.js gRPC library is a server-side library, written primarily in C and compiled against the Node.js runtime. It does not work in a browser environment. There is ongoing development on a gRPC library that works in the browser, but it has not yet been released.
On Thu, Mar 23, 2017 at 9:35 PM <[email protected]> wrote: > Does gRPC work with Angular2? I've installed the latest of the frameworks > today (Angular 2 (4.0), latest Node.js, latest npm, 1.2 gRPC). I'm running > on Windows 10. > > I have the example for gRPC working (dynamic_codegen). And I've got gRPC > working with a java server / client. Next step is to get a browser client > and am going to use Angular2 as the client stack. > > When I try to adapt it to an Angular2 service, I get several errors. The > first is: > >ng serve > ** NG Live Development Server is running on http://localhost:4200 ** > Hash: 08c088c092b672d8d109 > Time: 13545ms > chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 158 > kB {4} [initial] [rendered] > chunk {1} main.bundle.js, main.bundle.js.map (main) 9.45 kB {3} [ > initial] [rendered] > chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 9.77 kB {4} [ > initial] [rendered] > chunk {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 3.84 MB [ > initial] [rendered] > chunk {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [ > entry] [rendered] > > > WARNING in ./~/grpc/src/node/src/grpc_extension.js > 38:14-35 Critical dependency: the request of a dependency is an expression > > > ERROR in ./~/grpc/src/node/src/grpc_extension.js > Module not found: Error: Can't resolve 'node-pre-gyp/lib/pre-binding' in ' > C:\Users\chane\Documents\workspace\client-angular\node_modules\grpc\src\ > node\src' > @ ./~/grpc/src/node/src/grpc_extension.js 34:13-52 > @ ./~/grpc/src/node/index.js > @ ./src/app/home/home.service.ts > @ ./src/app/app.module.ts > @ ./src/main.ts > @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts > webpack: Failed to compile. > > > When I look in the node_modules/grpc, the node-pre-gyp package is there. > Just not being utilized. Thoughts on how to fix - or let me now if this > shouldn't work. > > The service I'm implementing (HomeService.ts) > > import * as grpc from 'grpc'; > > import { Injectable } from '@angular/core'; > > > @Injectable() > export class HomeService { > > constructor() {} > > private hello_proto = grpc.load('./helloworld.proto'); > private client = new this.hello_proto.Greeter('localhost:50051', > grpc.credentials.createInsecure()); > > greet(user: String): void { > this.client.sayHello({name: 'Test!!!'}).forEach(response => { > console.log('Greeting:', response.message); > }); > } > } > > The helloworld.proto > > syntax = "proto3"; > > option java_multiple_files = true; > option java_package = "com.sample"; > option java_outer_classname = "HelloWorldProto"; > option objc_class_prefix = "HLW"; > > package helloworld; > > service Greeter { > rpc SayHello (HelloRequest) returns (HelloReply) {} > } > > message HelloRequest { > string name = 1; > } > > message HelloReply { > string message = 1; > } > > > > And the package.json > > { > "name": "client-angular", > "version": "0.0.0", > "license": "MIT", > "scripts": { > "ng": "ng", > "start": "ng serve", > "build": "ng build", > "test": "ng test", > "lint": "ng lint", > "e2e": "ng e2e" > }, > "private": true, > "dependencies": { > "@angular/common": ">=4.0.0-beta <5.0.0", > "@angular/compiler": ">=4.0.0-beta <5.0.0", > "@angular/core": ">=4.0.0-beta <5.0.0", > "@angular/forms": ">=4.0.0-beta <5.0.0", > "@angular/http": ">=4.0.0-beta <5.0.0", > "@angular/platform-browser": ">=4.0.0-beta <5.0.0", > "@angular/platform-browser-dynamic": ">=4.0.0-beta <5.0.0", > "@angular/router": ">=4.0.0-beta <5.0.0", > "core-js": "^2.4.1", > "rxjs": "^5.1.0", > "zone.js": "^0.7.6", > "async": "^1.5.2", > "google-protobuf": "^3.0.0", > "grpc": "^1.0.0", > "lodash": "^4.6.1", > "minimist": "^1.2.0" > }, > "devDependencies": { > "@angular/cli": "1.0.0-rc.4", > "@angular/compiler-cli": ">=4.0.0-beta <5.0.0", > "@types/jasmine": "2.5.38", > "@types/node": "~6.0.60", > "codelyzer": "~2.0.0", > "jasmine-core": "~2.5.2", > "jasmine-spec-reporter": "~3.2.0", > "karma": "~1.4.1", > "karma-chrome-launcher": "~2.0.0", > "karma-cli": "~1.0.1", > "karma-jasmine": "~1.1.0", > "karma-jasmine-html-reporter": "^0.2.2", > "karma-coverage-istanbul-reporter": "^0.2.0", > "protractor": "~5.1.0", > "ts-node": "~2.0.0", > "tslint": "~4.5.0", > "typescript": "~2.1.0" > } > } > > > > Apologize if this is the wrong forum. My background is java backend > services and am learning the front end and thought I'd start with the > newest frameworks. Would like to use gRPC if it's possible with Angular2. > > Thanks, > Chris.... > > -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/grpc-io. > To view this discussion on the web visit > https://groups.google.com/d/msgid/grpc-io/0194a9d8-327c-413d-8f52-c74045fed263%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/0194a9d8-327c-413d-8f52-c74045fed263%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAPK2-4eW7RKnRRbFar14fF2Ubc4Avrfg%2BMdBDC%3Dw2YnNJv-yhA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME Cryptographic Signature
