Skip to content

Make two files instead of three #80

Open
@callumacrae

Description

@callumacrae

Hey!

I effectively want to split out part of a file, instead of splitting out the common parts of two files.

Currently I have bundle.js, which contains everything used on the site. There is some checkout specific logic there that I only want on the checkout, so I want to split that stuff out into bundle-checkout.js, but then run both bundle.js and bundle-checkout.js in the checkout.

With factor-bundle by default, I would be running these files on the main site:

  • bundle-common.js
  • bundle.js

And these on the checkout:

  • bundle-common.js
  • bundle.js
  • bundle-checkout.js

It's pointless for me to have both bundle-common.js and bundle.js!

The best solution I've found so far is to add require('./main') to the top of the input bundle-checkout.js, which would mean that bundle.js is effectively an empty file and I can include bundle-common.js by itself, but then that generates a junk file.


lib.js:

module.exports = 'lib';

main.js:

var lib = require('./lib');
console.log(lib);

checkout.js:

require('./main');
console.log('special checkout logic');

And then the command:

browserify main.js checkout.js -p [ factor-bundle -o junk.js -o bundle-checkout.js ] -o bundle.js

Is there any way to do this without the require('./main') and the useless junk.js file?

Thanks, and sorry for the long question! I'll turn this into an article once it's been figured out so that nobody asks it again :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions