[ 
https://issues.apache.org/jira/browse/THRIFT-2995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Tkach updated THRIFT-2995:
-------------------------------
    Description: 
THRIFT-2387 requested centralizing external exports in index.js. Required 
modules that are now in  index.js create unnecessary and problematic 
dependencies  which make it impossible to use thrift module in browser via 
tools like webpack. Client code may avoid using {{require('thrift')}} import 
like so:

{{quote}}
var options = {
    transport: require('thrift/transport').TBufferedTransport,
    protocol: require('thrift/protocol').TBinaryProtocol,
    path: "/",
    headers: {"Connection": "close"},
    https: false,
    responseType: 'arraybuffer'
  };
  var httpConnection = require('thrift/http_connection');
  var con = httpConnection.createHttpConnection("localhost", 8888, options);
  var client = httpConnection.createHttpClient(MyService, con);
{{quote}}   

but unfortunately generated {{MyService}} nodejs module contains  
{{require('thrift')}} which tries to bring in connection, ws_connection, server 
and web_server all of which of course are unwanted in the browser and depend on 
node modules that can't work in the browser.
  



  was:
THRIFT-2387 requested centralizing external exports in index.js. Required 
modules that are now in  index.js create unnecessary and problematic 
dependencies  which make it impossible to use thrift module in browser via 
tools like webpack. Client code may avoid using {{require('thrift')}} import 
like so:

{{var options = {
    transport: require('thrift/transport').TBufferedTransport,
    protocol: require('thrift/protocol').TBinaryProtocol,
    path: "/",
    headers: {"Connection": "close"},
    https: false,
    responseType: 'arraybuffer'
  };
  var httpConnection = require('thrift/http_connection');
  var con = httpConnection.createHttpConnection("localhost", 8888, options);
  var client = httpConnection.createHttpClient(MyService, con);}}   

but unfortunately generated {{MyService}} nodejs module contains  
{{require('thrift')}} which tries to bring in connection, ws_connection, server 
and web_server all of which of course are unwanted in the browser and depend on 
node modules that can't work in the browser.
  




> nodejs: index.js requires too much
> ----------------------------------
>
>                 Key: THRIFT-2995
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2995
>             Project: Thrift
>          Issue Type: Bug
>          Components: Node.js - Library
>    Affects Versions: 0.9.2
>         Environment: webpack
>            Reporter: Igor Tkach
>
> THRIFT-2387 requested centralizing external exports in index.js. Required 
> modules that are now in  index.js create unnecessary and problematic 
> dependencies  which make it impossible to use thrift module in browser via 
> tools like webpack. Client code may avoid using {{require('thrift')}} import 
> like so:
> {{quote}}
> var options = {
>     transport: require('thrift/transport').TBufferedTransport,
>     protocol: require('thrift/protocol').TBinaryProtocol,
>     path: "/",
>     headers: {"Connection": "close"},
>     https: false,
>     responseType: 'arraybuffer'
>   };
>   var httpConnection = require('thrift/http_connection');
>   var con = httpConnection.createHttpConnection("localhost", 8888, options);
>   var client = httpConnection.createHttpClient(MyService, con);
> {{quote}}   
> but unfortunately generated {{MyService}} nodejs module contains  
> {{require('thrift')}} which tries to bring in connection, ws_connection, 
> server and web_server all of which of course are unwanted in the browser and 
> depend on node modules that can't work in the browser.
>   



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to