Reputation: 2688
I'm running Meteor 1.4.2.3 and after adding some code that deals with files I get a reference error saying "Buffer" is not defined.
The error is in util.js
exports.isPrimitive = isPrimitive; exports.isBuffer = Buffer.isBuffer;
Uncaught ReferenceError: Buffer is not defined
at util.js (modules.js:29525)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at meteorInstall.node_modules.meteor-node-stubs.node_modules.readable-stream.lib._stream_readable.js (modules.js:25209)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at meteorInstall.node_modules.meteor-node-stubs.node_modules.readable-stream.readable.js (modules.js:25144)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at meteorInstall.node_modules.meteor-node-stubs.node_modules.stream-browserify.index.js (modules.js:24653)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at meteorInstall.node_modules.gm.index.js (modules.js:21644)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at meteorInstall.both.collections.files.collection.js (app.js:2317)
at fileEvaluate (modules-runtime.js:343)
at require (modules-runtime.js:238)
at app.js:2583
What is the dependency for Buffer ? am I missing a package?
Upvotes: 1
Views: 4163
Reputation: 1708
Adding this code on Startup worked for me
global.Buffer = function() {}
global.Buffer.isBuffer = () => false
Complete Code looks like this
Meteor.startup(()=> {
global.Buffer = function() {}
global.Buffer.isBuffer = () => false
ReactDOM.render(<App />, document.getElementById('container'));
});
Upvotes: 0
Reputation: 15735
Buffer
is a builtin class in Node.js and doesn't exist in browsers. If there is a separate browser compatible version of the dependency try using that one instead. If not, there is a package in NPM called buffer
that can be used as a polyfill in browsers, React Native and other non-Node.js environments.
import Buffer from 'buffer';
if (typeof this.Buffer === 'undefined') {
this.Buffer = Buffer.Buffer;
}
Upvotes: 2