simple require.extensions example not working
Problem
module.extensions doesnt seems to be working properly, the example given on http://nodejs.org/api/globals.html#globals_require_extensions returns nothing.
I m using [email protected] | linux | ia32
node js file (run.js):
#!/usr/bin/env node
fs = require('fs');
require.extensions['.jse'] = function(module, filename) {
var content = fs.readFileSync(filename, 'utf8');
module.exports = content;
};
require('./0.jse')
//
console.log(require('./0.jse'))
jse file (0.jse):
#! /usr/bin/env node
console.log('IT WORKS!')
$ ls -al *.jse *.js
-rwxr-xr-x 1 alvaro alvaro 46 dic 6 17:26 0.jse
-rwxr-xr-x 1 alvaro alvaro 314 dic 6 17:32 run.js
file --mime *.js *.jse
run.js: text/plain; charset=us-ascii
0.jse: text/plain; charset=us-ascii
$ node run.js
it outputs:
#! /usr/bin/env node
console.log('IT WORKS!')
instead of:
IT WORKS!
whats wrong?
Problem courtesy of: Alvarolm
Solution
Ended compiling with module._compile(contents, filename).
so, node js file (run.js):
#!/usr/bin/env node
fs = require('fs');
require.extensions['.jse'] = function(module, filename) {
var content = fs.readFileSync(filename, 'utf8');
return module._compile(content, filename);
};
require('./0.jse')
Solution courtesy of: Alvarolm
Discussion
View additional discussion.