module.extensions 似乎没有正常工作,http://nodejs.org/api/globals.html#globals_require_extensions 上给出的示例什么都不返回。
我正在使用 node@0.8.12 | Linux | ia32
Node 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 运行.js
它输出:
#! /usr/bin/env node
console.log('IT WORKS!')
代替:
IT WORKS!
怎么了?
最佳答案
使用 module._compile(contents, filename) 结束编译。
所以, Node 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')
关于javascript - 简单的 require.extensions 示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752272/