brianchirls / proto-loader

Protocol Buffer loader module for webpack
27 stars 18 forks source link

Protocol Buffer loader module for webpack

Converts .proto files into JSON so they can be loaded without a parser. For use with webpack and ProtoBuf.js

Installation

npm install proto-loader

Usage

Documentation: Using loaders

/*
protobufjs has a light build that does not include code for parsing .proto
files. The extra code is not typically necessary if you're using this loader,
but if you still need it, you can change the below line to:
var ProtoBuf = require('protobufjs');
*/
var ProtoBuf = require('protobufjs/dist/protobuf-light');

var protoDefinition = require('proto!./message.proto');
// => returns object converted from message.proto, resolves imports

var builder = ProtoBuf.loadJson(protoDefinition);
//...

webpack config

module.exports = {
  module: {
    loaders: [
      {
        test: /\.proto$/,
        loader: "proto-loader"
      }
    ]
  }
};

Then you only need to write: require("./message.proto")

License

MIT (http://www.opensource.org/licenses/mit-license.php)