问题标签 [node-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node.js // 一个管理 sqlite 数据库的模块
我设法创建了一个模块来处理所有数据库调用。它使用这个库:https ://github.com/developmentseed/node-sqlite3
我的问题如下。每次我打电话时,我都需要确保数据库存在,如果不存在则创建它。另外,由于所有调用都是异步的,我最终在回调函数中加载了大量函数......等等。
它看起来像这样:
那么,只有当数据库准备好并完全创建(如果它还不存在)时,我有什么方法可以导出我的模块?
有没有人看到解决“异步”问题的方法?
javascript - 在 Mocha 测试中找不到 Chai 导出
我创建了简单的摩卡测试。当使用 Node “assert” 模块时,它可以完美运行。我从命令行运行它(Mocha 作为全局节点模块安装):
脚本如下所示:
好吧,我尝试添加 Chai 而不是断言库。我先安装了它:
所以,我的项目中已经创建了 node_modules 目录。到目前为止很棒。然后,我修改了脚本以使用 Chai:
它不起作用,Mocha 测试失败并出现 TypeError:
我认为 Chai 没有定义应该所以它是未定义的。
这怎么可能?
我怎样才能让我的测试用 Chai 运行?我试图在全球范围内安装 Chai,但没有任何效果。我也运行了脚本,-r chai
但没有任何效果。
显然,Chai 模块已加载,但未定义变量(Object.prototype 属性)。我怎样才能解决这个问题?
javascript - node.js 模块的编译顺序
问题是我有许多单独的模块,我使用 module.exports 导出并且相互依赖。说-
现在,服务器模块包含其他四个模块所需的公共对象。但是,在编译节点应用程序时,其中一些模块是在服务器模块之前编译的,例如通过使用控制台输出我发现顺序是 -
那么,有没有一种方法可以确保服务器模块首先编译,以便任何依赖模块都没有未定义的对象?
node.js - package.json for global module installation
I have a package.json in which some modules have to be installed globally,below is the part that i added below dependencies
But when i ran npm install i got the error as below
All the modules to be installed locally are getting installed,but only gloal installation is throwing an error.I am stuck here any help will be much appreciated.
javascript - 在本机节点模块中,如何确保我的异步代码始终在同一个线程上运行?
我正在用 C++ 编写一个本地节点模块,它将成为 C 库的绑定。
此库中的某些对象只能由单个线程使用。这意味着如果我使用uv_queue_work
我不能确保它们只被同一个线程使用,因为 -据我所知- libuv 使用一个线程池,我无法找出如何告诉它哪个线程用于此类工作。
以下是针对这种情况的一些想法,但我不确定哪种方法是正确的。
- 只需使所有方法同步 - 不幸的是,这会超出节点的目的和概念,所以我不想这样做
- 创建一个自定义线程并在其上执行我的代码 - 这会破坏 libuv 线程池的目的并需要更多工作
- 以某种方式告诉 libuv 在其线程池中的同一线程上执行同一对象的操作 - 我在文档中没有找到执行此操作的方法
这种 Node.js 模块的推荐行动方案是什么?
c++ - 如何在本机节点模块中维护零拷贝?
我正在为具有零拷贝数据查找功能的进程内数据库编写本机节点模块。我希望我的模块也有这种能力。换句话说,当我从数据库中获取数据时,我想将数据传递给 V8,而不需要复制内存或解析某些东西。
我怎样才能做到这一点?
到目前为止,我看到的所有方法都涉及在 JSON 之间来回解析(在这种情况下几乎是浪费资源)或实例化 V8 数据结构并将数据复制到其中。
注意:如果您想知道,零复制数据查找意味着(简而言之)数据库引擎在检索数据时不需要复制内存。
node.js - 如何从另一个模块的依赖项中引用模块
我有一个有 2 个依赖项的项目:
模块描述本身依赖于模块 nommon。我希望 nommon 引用与描述依赖项中的引用相同。
所以,我想要的是这样的:
我知道,npm link
但这是手动操作。
我想要一个package.json
依赖声明,以便在npm install
我获得一个启动并运行的包之后。
目前我通过手动添加符号链接解决了这个问题。
node.js - 无法使用 npm install 将 LDAP 模块安装到 Node.js
我正在为我的应用程序使用 Node.js,而且我对它很陌生。
我有一个从 LDAP 服务器获取用户凭据的案例,为此我在 NPM 注册表中找到了足够的模块。但是当我尝试输入“npm install”(在我的例子中是“npm install ldapauth”)时,它们都没有安装
早些时候它要求提供 Python 环境变量,我在此之后设置了该变量。
我为我的应用程序选择了“ldapauth”模块。当我尝试安装时,这是错误的堆栈跟踪:
{{{{
}}}}}}
node.js - 查找位置的最佳 node.js 模块?
我找到了几个node.js 模块,用于使用 IP 地址查找有关客户端位置和网络的信息。
要求:
位置 - 国家、城市、州、纬度、经度等。
网络 - 互联网服务提供商、互联网连接类型和互联网速度等。
数据准确性 - 最大可能性。
注意:寻找服务器端解决方案。
上述模块使用maxmind 数据。我也读过关于maxmind 数据准确性的信息。
我对选择上述 node.js 模块有点困惑,我想知道是否有更好的 node.js 框架可用于查找满足我要求的信息或任何其他可以移植到 node.js 的语言插件。
任何想法都会很棒。
node.js - 通过使用模块 node-config 更改环境变量在运行时更改配置
我正在尝试使用 node-config 模块在运行时更改我的配置的一些参数(基本上是日志记录级别)。在官方文档中说:
环境变量可用于覆盖文件配置。任何以 $CONFIG_ 开头的环境变量都设置到 CONFIG 对象中。
我已经检查过服务器启动时这是真的,但是一旦启动它似乎就不起作用了。(与 runtime.json 文件中的更改或直接更改配置变量不同,在更改环境变量时永远不会调用 watch 函数的处理程序)。
我目前正在像这样观看整个 CONFIG 对象:
有谁知道这是否可能?