2012-12-06 5 views
1

module.extensions, похоже, не работает должным образом, пример, приведенный на http://nodejs.org/api/globals.html#globals_require_extensions, ничего не возвращает.simple require.extensions пример не работает

Я использую [email protected] | linux | ia32

узла файл (расслоение плотной 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')) 

ЙФБ файл (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 

файл --mime * .js * .jse

run.js: text/plain; charset=us-ascii 
0.jse: text/plain; charset=us-ascii 

$ узел run.js

выводит:

#! /usr/bin/env node 
console.log('IT WORKS!') 

вместо:

IT WORKS! 

Что не так?

ответ

4

Завершено компиляция с помощью module._compile (содержимое, имя файла).

так, узел файл (расслоение плотного 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') 
Смежные вопросы