[英]non-blocking require in node.js
有沒有一種方法可以在運行時(服務時間)在服務器上使用require
(或其他等效的東西)而不會阻塞整個事情?
我正在嘗試添加用戶定義的功能,之后他可以使用我正在實現的語言來使用它們。
因此,例如:
toaprse.mylanguage
#bind somefunctions.js
x = somefunctions.func1();
我可以做一個簡單的require('somefunction'); 但我不想阻止節點,據我所知是這種情況。
我只是想通過函數到我的框架,它並沒有被require
,但它似乎很自然。
這是需求的實現方式:
> console.log(require.extensions['.js'].toString())
function (module, filename) {
var content = NativeModule.require('fs').readFileSync(filename, 'utf8');
module._compile(stripBOM(content), filename);
}
您可以在應用程序中執行相同的操作。 我想這樣的事情會起作用:
var fs = require('fs')
require.async = function(filename, callback) {
fs.readFile(filename, 'utf8', function(err, content) {
if (err) return callback(err)
module._compile(content, filename)
// this require call won't block anything because of caching
callback(null, require(filename))
})
}
require.async('./test.js', function(err, module) {
console.log(module)
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.