How can I require a html template with Browserify

Denim Demon picture Denim Demon · Jun 18, 2014 · Viewed 7.1k times · Source

I'm trying to figure out an easy way to require a html template in the script and then run browserify from the CLI.

Say I want to grab a template and append it to the body.

//index.js

var template = require('./template.html');
document.body.appendChild(template);

and

<!-- template.html -->
<p>Woooo!</p>

Then using the CLI to wrap it all up in Browserify.

browserify index.js > build.js

When loading an index.html template in the browser that references build.js I get this error in the console:

Uncaught SyntaxError: Unexpected token <

which is referencing

....

},{}],3:[function(require,module,exports){
<div class="slide">
    <h2 data-slide-title></h2>
    <div data-slide-copy></div>
</div>
},{}]},{},[1])

Answer

lavrton picture lavrton · Jun 18, 2014

Use: https://github.com/substack/brfs

1

npm install brfs

2

var fs = require('fs');
var html = fs.readFileSync(__dirname + '/robot.html', 'utf8');
console.log(html);

3

browserify -t brfs example/main.js > bundle.js