Javascript node.js-有人知道如何';需要()';第三方main.js中的外部模块

Javascript node.js-有人知道如何';需要()';第三方main.js中的外部模块,javascript,node.js,Javascript,Node.js,当使用\u third\u party\u main.js使用您自己的脚本扩展节点时,在该上下文中运行代码时,您似乎只需要在节点二进制可执行文件中构建的模块 我做错了什么吗?例如,如果您将您的_stuff_file.js放在根目录中,只需使用require('./your_stuff_file.js')。 当然,必须使用module.exports引用您的内容。通常,Node.js模块仅将module.exports对象公开给外部代码您也可以参考这个问题不,我在加载_third_party_ma

当使用
\u third\u party\u main.js
使用您自己的脚本扩展节点时,在该上下文中运行代码时,您似乎只需要在节点二进制可执行文件中构建的模块


我做错了什么吗?

例如,如果您将您的_stuff_file.js放在根目录中,只需使用require('./your_stuff_file.js')。
当然,必须使用module.exports引用您的内容。

通常,Node.js模块仅将module.exports对象公开给外部代码您也可以参考这个问题不,我在加载_third_party_main.js或我放入lib/中的任何其他*.js文件以使用Node构建时没有问题。我无法在_third_party_main.js中加载任何外部内容,如“require”(“mongoose”)。遇到同样的问题,似乎找不到解决方案-有人能够解决这个问题吗?有没有一种方法可以在构建节点时打包我的node_modules目录?是的,这很有效,我还指出我使用了urequire将我的所有文件合并到一个js文件中,而没有依赖项,因为mongodb依赖于一些非javascript编写的本机模块(kerberos.node和bson.node),因此必须从外部加载。此外,我得到的错误是:“抛出新的错误(‘没有这样的本地模块’+ID);”Kerberos和BSN,用C++编写,使用节点GYP编译。你能更清楚地描述这个问题吗?我认为我的answear非常适合这个主题,为什么它没有标记为已回答?好的,我的目标是将我的服务器应用程序作为一个二进制文件分发,node允许您将脚本放入“lib/_third_party_main.js”(这里有更详细的描述)中,并在启动时执行。我的问题是,我的服务器应用程序无法加载它的依赖项,它会抛出一个错误,比如“没有这样的本机模块mongoose”,它只适用于内置模块(如“http”)或内置到节点二进制中的模块/文件,但您只能包含javascript,而不能包含二进制模块。