How to stream to a zip using NodeJS and Browserify
I'm new to JavaScript / NodeJS so forgive me for what's likely a basic question. But I'm trying to understand something fundamental.
We've a project structured like so
- Bottom layer is made up of a re-usable NodeJS SDK
- This is being bundled by Browserify
- The bundle is used with a local index.html (via JavaScript calls)
The current task I'm working on involves writing code in the SDK to
- Read data from a http REST API
- Format this data
- Create a zip on disk
- Write the formatted data to the zip
Then I need to write code in the index.html
- To supply a path
- Kick off the above steps to create a zip
As a starting point I've been playing with the standard NodeJS fs module. However when I browserify the code
import fs from 'fs';
translates fs to . There does seem to be a separate module browserify-fs that'll allow me to support fs. But this issue has made me question the approach I'm taking.
- Is fs a good option to use for a browser?
- How common is it for browser JavaScript to support streaming to zip? i.e. As opposed to downloading a pre-existing zip from a http server.
Appreciate this question is open ended. But I'm curious to hear what the community thinks.
javascript node.js stream filesystems
add a comment |
I'm new to JavaScript / NodeJS so forgive me for what's likely a basic question. But I'm trying to understand something fundamental.
We've a project structured like so
- Bottom layer is made up of a re-usable NodeJS SDK
- This is being bundled by Browserify
- The bundle is used with a local index.html (via JavaScript calls)
The current task I'm working on involves writing code in the SDK to
- Read data from a http REST API
- Format this data
- Create a zip on disk
- Write the formatted data to the zip
Then I need to write code in the index.html
- To supply a path
- Kick off the above steps to create a zip
As a starting point I've been playing with the standard NodeJS fs module. However when I browserify the code
import fs from 'fs';
translates fs to . There does seem to be a separate module browserify-fs that'll allow me to support fs. But this issue has made me question the approach I'm taking.
- Is fs a good option to use for a browser?
- How common is it for browser JavaScript to support streaming to zip? i.e. As opposed to downloading a pre-existing zip from a http server.
Appreciate this question is open ended. But I'm curious to hear what the community thinks.
javascript node.js stream filesystems
1
Why do you have to usefs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?
– mihai
Nov 13 '18 at 21:56
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10
add a comment |
I'm new to JavaScript / NodeJS so forgive me for what's likely a basic question. But I'm trying to understand something fundamental.
We've a project structured like so
- Bottom layer is made up of a re-usable NodeJS SDK
- This is being bundled by Browserify
- The bundle is used with a local index.html (via JavaScript calls)
The current task I'm working on involves writing code in the SDK to
- Read data from a http REST API
- Format this data
- Create a zip on disk
- Write the formatted data to the zip
Then I need to write code in the index.html
- To supply a path
- Kick off the above steps to create a zip
As a starting point I've been playing with the standard NodeJS fs module. However when I browserify the code
import fs from 'fs';
translates fs to . There does seem to be a separate module browserify-fs that'll allow me to support fs. But this issue has made me question the approach I'm taking.
- Is fs a good option to use for a browser?
- How common is it for browser JavaScript to support streaming to zip? i.e. As opposed to downloading a pre-existing zip from a http server.
Appreciate this question is open ended. But I'm curious to hear what the community thinks.
javascript node.js stream filesystems
I'm new to JavaScript / NodeJS so forgive me for what's likely a basic question. But I'm trying to understand something fundamental.
We've a project structured like so
- Bottom layer is made up of a re-usable NodeJS SDK
- This is being bundled by Browserify
- The bundle is used with a local index.html (via JavaScript calls)
The current task I'm working on involves writing code in the SDK to
- Read data from a http REST API
- Format this data
- Create a zip on disk
- Write the formatted data to the zip
Then I need to write code in the index.html
- To supply a path
- Kick off the above steps to create a zip
As a starting point I've been playing with the standard NodeJS fs module. However when I browserify the code
import fs from 'fs';
translates fs to . There does seem to be a separate module browserify-fs that'll allow me to support fs. But this issue has made me question the approach I'm taking.
- Is fs a good option to use for a browser?
- How common is it for browser JavaScript to support streaming to zip? i.e. As opposed to downloading a pre-existing zip from a http server.
Appreciate this question is open ended. But I'm curious to hear what the community thinks.
javascript node.js stream filesystems
javascript node.js stream filesystems
asked Nov 13 '18 at 17:02
Shane GannonShane Gannon
1,18211629
1,18211629
1
Why do you have to usefs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?
– mihai
Nov 13 '18 at 21:56
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10
add a comment |
1
Why do you have to usefs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?
– mihai
Nov 13 '18 at 21:56
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10
1
1
Why do you have to use
fs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?– mihai
Nov 13 '18 at 21:56
Why do you have to use
fs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?– mihai
Nov 13 '18 at 21:56
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286089%2fhow-to-stream-to-a-zip-using-nodejs-and-browserify%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286089%2fhow-to-stream-to-a-zip-using-nodejs-and-browserify%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Why do you have to use
fs
in the browser? Doesn't make sense. Doesn't the zip creation happen on the server?– mihai
Nov 13 '18 at 21:56
That was my reaction. But there's an encryption requirement that means it can only occur on the customer's side.
– Shane Gannon
Nov 14 '18 at 14:10