1

module.extensionsが正しく機能していないようです。http://nodejs.org/api/globals.html#globals_require_extensionsに示されている例で何も返されません。

node@0.8.12を使用しています| Linux | ia32

ノードjsファイル(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ファイル(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

$ node run.js

出力:

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

それ以外の:

IT WORKS!

どうしたの?

4

2 に答える 2

5

module._compile(contents、filename)でコンパイルを終了しました。

したがって、ノードjsファイル(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')
于 2012-12-06T21:51:50.480 に答える
0

あなたは戻っていませんmodule、以下を見てください

require.extensions['.jse'] = function(module, filename) {
   var content = fs.readFileSync(filename, 'utf8');
   module.exports = content;
   return module; // Return module
};
于 2018-05-26T11:37:24.133 に答える