Convert any code using rfile and derivatives so that it supports browserify.
This module is a plugin for browserify to parse the AST for rfile
calls so that you can inline the file contents into your bundles.
In addition to supporting rfile
, you can also use modules which internally use rfile
providing they meet the simple requirement of taking an object with dirname
property as their second argument and are listed in the array of valid file names modules in index.js. Currently this is:
Even though this module is intended for use with browserify, nothing about it is particularly specific to browserify so it should be generally useful in other projects.
For a main.js
var rfile = require('rfile');
var html = rfile('./robot.html');
console.log(html);
And a robot.html
<b>beep boop</b>
first npm install rfileify
into your project, then:
$ browserify -t rfileify example/main.js > bundle.js
now in the bundle output file,
var html = rfile('./robot.html');
turns into:
var html = "<b>beep boop</b>";
(and require('rfile')
turns into undefined
so you're not loading code you're never going to use).
var browserify = require('browserify');
var fs = require('fs');
var b = browserify('example/main.js');
b.transform('rfileify');
b.bundle().pipe(fs.createWriteStream('bundle.js'));
A tiny command-line program ships with this module for easier debugging and if you just want this without any of the rest of browserify.
npm install rfileify -g
rfileify --help
MIT