gpt4 book ai didi

node.js 如何访问已经需要的对象

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:49 25 4
gpt4 key购买 nike

假设我运行了以下代码:

var toType = function(obj){
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
};
var someModule = require("./path/to/name");
console.log(toType(require.cache["./path/to/name"]));
someModule();

在位置 ./path/to/name.js 我有以下代码:

module.exports = function (){
console.log("Hell World!");
};

这两个片段无法运行,所以我想我在这里遗漏了一些东西。输出如下:

node: no process found
undefined
Hell World!
[Finished in 0.1s]
  • require("./path/to/name"); 如何映射到 require.cache;
  • 如何检索模块、删除它并检查它的类型?

带有代码的答案将不胜感激。

最佳答案

运行以下命令可用于非系统导出,至少在 Node 0.8.2 上:

var http = require ('http');
var util = require ('util');
var b = require('./b');

util.inspect(require.cache);

var loaded = require.cache;

注意require.cache是​​正确的; require.cache() 不是(它是一个属性;0.8.2 不会编译它。)对此我看到:

{ '/home/user/node/a.js':
{ id: '.',
exports: {},
parent: null,
filename: '/home/user/node/a.js',
loaded: false,
children: [ [Object] ],
paths:
[ '/home/user/node/node_modules',
'/home/user/node_modules',
'/home/node_modules',
'/node_modules' ] },
'/home/user/node/b.js':
{ id: '/home/user/node/b.js',
exports: [Function],
parent:
{ id: '.',
exports: {},
parent: null,
filename: '/home/user/node/a.js',
loaded: false,
children: [Object],
paths: [Object] },
filename: '/home/user/node/b.js',
loaded: true,
children: [],
paths:
[ '/home/user/node/node_modules',
'/home/user/node_modules',
'/home/node_modules',
'/node_modules' ] } }

我不确定为什么像“http”这样的模块没有出现......

关于node.js 如何访问已经需要的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com