@@ -95,13 +95,15 @@ For Closure imports, `protoc` will generate a single output file
9595(` myproto_libs.js ` in this example). The generated file will ` goog.provide() `
9696all of the types defined in your .proto files. For example, for the unit
9797tests the generated files contain many ` goog.provide ` statements like:
98+
9899``` js
99- goog .provide (' proto.google.protobuf.DescriptorProto' );
100- goog .provide (' proto.google.protobuf.DescriptorProto.ExtensionRange' );
101- goog .provide (' proto.google.protobuf.DescriptorProto.ReservedRange' );
102- goog .provide (' proto.google.protobuf.EnumDescriptorProto' );
103- goog .provide (' proto.google.protobuf.EnumOptions' );
100+ goog .provide (' proto.google.protobuf.DescriptorProto' );
101+ goog .provide (' proto.google.protobuf.DescriptorProto.ExtensionRange' );
102+ goog .provide (' proto.google.protobuf.DescriptorProto.ReservedRange' );
103+ goog .provide (' proto.google.protobuf.EnumDescriptorProto' );
104+ goog .provide (' proto.google.protobuf.EnumOptions' );
104105```
106+
105107The generated code will also ` goog.require() ` many types in the core library,
106108and they will require many types in the Google Closure library. So make sure
107109that your ` goog.provide() ` / ` goog.require() ` setup can find all of your
@@ -110,11 +112,13 @@ Google Closure library itself.
110112
111113Once you've done this, you should be able to import your types with
112114statements like:
115+
113116``` js
114- goog .require (' proto.my.package.MyMessage' );
117+ goog .require (' proto.my.package.MyMessage' );
115118
116- var message = proto .my .package .MyMessage ();
119+ var message = proto .my .package .MyMessage ();
117120```
121+
118122If unfamiliar with Closure or its compiler, consider reviewing
119123[ Closure documentation] ( https://developers.google.com/closure/library ) .
120124
@@ -137,11 +141,13 @@ to build it first by running:
137141
138142Once you've done this, you should be able to import your types with
139143statements like:
144+
140145``` js
141- var messages = require (' ./messages_pb' );
146+ var messages = require (' ./messages_pb' );
142147
143- var message = new messages.MyMessage ();
148+ var message = new messages.MyMessage ();
144149```
150+
145151The ` --js_out ` flag
146152-------------------
147153
@@ -168,17 +174,19 @@ API
168174
169175The API is not well-documented yet. Here is a quick example to give you an
170176idea of how the library generally works:
177+
171178``` js
172- var message = new MyMessage ();
179+ var message = new MyMessage ();
173180
174- message .setName (" John Doe" );
175- message .setAge (25 );
176- message .setPhoneNumbers ([" 800-555-1212" , " 800-555-0000" ]);
181+ message .setName (" John Doe" );
182+ message .setAge (25 );
183+ message .setPhoneNumbers ([" 800-555-1212" , " 800-555-0000" ]);
177184
178- // Serializes to a UInt8Array.
179- var bytes = message .serializeBinary ();
185+ // Serializes to a UInt8Array.
186+ var bytes = message .serializeBinary ();
180187
181- var message2 = MyMessage .deserializeBinary (bytes);
188+ var message2 = MyMessage .deserializeBinary (bytes);
182189```
190+
183191For more examples, see the tests. You can also look at the generated code
184192to see what methods are defined for your generated messages.
0 commit comments