相关疑难解决方法(0)

在node.JS中,如何通过require*not*mine(即在某个node_module中)获取已加载的模块的路径

我需要一个通过npm安装的模块.我想访问从属于该模块的.js文件(因此我可以在其中继承一个Constructor方法).我不能(好吧,不想)修改模块的代码,所以没有地方提取它的__dirname.

我知道以下问题,但它是关于获取一个代码控制的模块的路径(因此,__ dirname是解决方案): 在Node.js中,我如何告诉`this`模块的路径?

~~~

更好的方法是获取模块的加载模块信息

node.js

81
推荐指数
4
解决办法
4万
查看次数

如何在node.js中获取调用函数的文件路径?

以下是三个文件的示例代码:

// foo.js
var myFunc = require("./myFunc");
function foo(){
   myFunc("message");
}

// bar.js
var myFunc = require("./myFunc");
function bar(){
   myFunc("message");
}

// myFunc.js
module.exports = myFunc;
function myFunc(arg1){
   console.log(arg1);
   // Here I need the file path of the caller function
   // For example, "/path/to/foo.js" and "/path/to/bar.js"
}
Run Code Online (Sandbox Code Playgroud)

我需要动态获取调用函数的文件路径,而不需要传递任何额外的参数myFunc.

javascript node.js

26
推荐指数
4
解决办法
2万
查看次数

访问nodejs上的function.caller

我有一个任务,依赖于function.caller来检查调用者是否被授权.

根据这个URL,所有主流浏览器都支持调用者...并且我的所有单元测试都通过:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller

但是,nodejs拒绝所有访问function.caller的尝试(将其报告为null).

我愿意接受有关在nodejs上工作的建议......我不想让这个框架只适用于浏览器.

谢谢!

javascript node.js

8
推荐指数
2
解决办法
9704
查看次数

在Node.js中包裹需要可以解析相对路径调用

我正在尝试创建一个require包装器来加载依赖项,但我发现有一件事很难让它作为原始的require函数.当路径是相对路径时,包装器无法解析为正确的路径,因为我的加载器和调用者文件不在同一个文件夹中.这是一个简化的描述.

index.js
lib/
  loader.js
foo/
  bar.js
  baz.js
Run Code Online (Sandbox Code Playgroud)

index.js

var loader = require('./lib/loader.js'),
    bar = require('./foo/bar.js');
bar(loader);
Run Code Online (Sandbox Code Playgroud)

LIB/loader.js

module.exports = function (path) {
  return require(path);
};
Run Code Online (Sandbox Code Playgroud)

富/ bar.js

module.exports = function(loader) {
  var baz = loader('./baz.js');
  console.log(baz);
};
Run Code Online (Sandbox Code Playgroud)

富/ baz.js

module.exports = 'baz';
Run Code Online (Sandbox Code Playgroud)

显然,当执行index.js时,找不到baz.js文件.有没有办法解决到正确的文件?

我找到了一个相对的解决方案,但它没有用.

javascript node.js

3
推荐指数
2
解决办法
3866
查看次数

如何使用await判断异步函数是否被调用

async function sleep(msecs){

    if (!somebodyAwaitsMe())            // that's the unknown
        throw ("call me with await");

    return new Promise(resolve => setTimeout(resolve, ms));
}

await sleep(5000);                    // correct

sleep(5000);                     // forgot await, returns immediately,
Run Code Online (Sandbox Code Playgroud)

我想知道,在异步函数中,是否使用await调用了它,这可能吗?

该代码举例说明了一种可能的情况,以帮助检测错误,但它在其他情况下可能很有用,在其他情况下,可以通过设计调用函数,无论有没有等待。

javascript asynchronous node.js

1
推荐指数
1
解决办法
151
查看次数

标签 统计

node.js ×5

javascript ×4

asynchronous ×1