npm i transform-loader --save
Pass the module name as query parameter.
var x = require("!transform-loader?brfs!./file.js"); var x = require("!transform-loader/cacheable?brfs!./file.js"); // cacheable version
If you pass a number instead it will take the function from this.options.transforms[number]
.
module.exports = { module: { rules: [ { loader: "transform-loader?brfs", enforce: "post", options: { transforms: [ function (/*file*/) { return through((buffer) => { return this.queue( buffer.split('') .map((chunk) => String.fromCharCode(127-chunk.charCodeAt(0)))) .join('') }, () => this.queue(null)) } ] } }, { test: /\.coffee$/, loader: "transform-loader/cacheable?coffeeify", options: { transforms: [ function (/*file*/) { return through((buffer) => { return this.queue( buffer.split('') .map((chunk) => String.fromCharCode(127-chunk.charCodeAt(0)))) .join('') }, () => this.queue(null)) } ] } }, { test: /\.weirdjs$/, loader: "transform-loader?0", options: { transforms: [ function (/*file*/) { return through((buffer) => { return this.queue( buffer.split('') .map((chunk) => String.fromCharCode(127-chunk.charCodeAt(0)))) .join('') }, () => this.queue(null)) } ] } } ] } };
module.exports = { module: { postLoaders: [ { loader: "transform-loader?brfs" } ] loaders: [ { test: /\.coffee$/, loader: "transform-loader/cacheable?coffeeify" }, { test: /\.weirdjs$/, loader: "transform-loader?0" } ] }, transforms: [ function(file) { return through(function(buf) { this.queue(buf.split("").map(function(s) { return String.fromCharCode(127-s.charCodeAt(0)); }).join("")); }, function() { this.queue(null); }); } ] };
Say you have the following Node source:
var test = require('fs').readFileSync('./test.txt', 'utf8');
After npm install transform-loader brfs --save
, add the following loader to your config:
module.exports = { context: __dirname, entry: "./index.js", module: { loaders: [ { test: /\.js$/, loader: "transform-loader?brfs" } ] } }
The loader is applied to all JS files, which can incur a performance hit with watch tasks. So you may want to use transform-loader/cacheable?brfs
instead.
© 2012–2016 Tobias Koppers
Licensed under the Creative Commons Attribution License 4.0.
https://webpack.js.org/loaders/transform-loader/