javascript - 简单的 require.extensions 示例不起作用

标签 javascript node.js

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/

相关文章:

javascript - 具有对象值的子属性是否通过 JavaScript 中的引用复制?

javascript - 数组切片最后 1500 个数组元素 - Javascript

javascript - Node.js 和 Mysql 的 Promise

javascript - 如何在nodejs中将输出发布到同一网页?

javascript - 在给定路由上运行 Parse Server 云函数

javascript - 如何使用 AMQP/Node 每秒处理 >100 条消息

node.js - 如何使用 Express/Node.JS 通过 EJS 渲染 Markdown?

javascript - Paper js 'dot' 路径在 Firefox 中显示,但在 IE 或 Chrome 中不显示

javascript - 注销 session Angular2 NodeJS

javascript - 在客户端js中导入代码;在当前范围内,在任何位置