Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB没有';我不能和NPM一起工作。错误只出现在窗口上,它在OSX上正常工作。未找到模块:Can';t解决';dns';_Node.js_Database_Windows_Mongodb - Fatal编程技术网

Node.js MongoDB没有';我不能和NPM一起工作。错误只出现在窗口上,它在OSX上正常工作。未找到模块:Can';t解决';dns';

Node.js MongoDB没有';我不能和NPM一起工作。错误只出现在窗口上,它在OSX上正常工作。未找到模块:Can';t解决';dns';,node.js,database,windows,mongodb,Node.js,Database,Windows,Mongodb,我已经在我的项目上安装了带有npm的mongodb(npm install--save mongodb),但是当我使用mongodbvar mongo=require('mongodb')的简单调用时或const MongoClient=require('mongodb')。MongoClient; 它显示: ./node_modules/mongodb-core/lib/uri_parser.js Module not found: Can't resolve 'dns' in 'C:\Use

我已经在我的项目上安装了带有npm的mongodb(
npm install--save mongodb
),但是当我使用mongodb
var mongo=require('mongodb')的简单调用时
const MongoClient=require('mongodb')。MongoClient;
它显示:

./node_modules/mongodb-core/lib/uri_parser.js
Module not found: Can't resolve 'dns' in 'C:\Users\fff\Documents\Mes fichiers reçus\MyProjects\node_modules\mongodb-core\lib'
我不明白为什么它会显示这个。我试图用npm在全球范围内安装mongodb,但它没有改变

我查看了我的
节点\u modules\mongodb core\lib
我找到了
uri\u parser.js

这只发生在我的Windows7电脑上。用我的MacBook,它可以正常工作

package.json:

{
  "name": "test",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.0-14",
    "@fortawesome/free-solid-svg-icons": "^5.1.0-11",
    "@fortawesome/react-fontawesome": "0.1.0-11",
    "mongodb": "^3.1.1",
    "mongoose": "^5.2.5",
    "react": "^15.6.1",
    "react-bootstrap": "^0.31.3",
    "react-dom": "^15.6.1",
    "react-google-auth": "^0.4.1",
    "react-router-dom": "^4.2.2",
    "react-scripts": "1.0.13"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

据我所知,正如您所解释的,您不能在前端使用MongoDB NodeJS驱动程序。要使用它,您需要一个后端服务器。您使用NodeJS编码,使用MongoDB驱动程序,获取数据,并使用API端点(使用服务器)将这些数据提供给前端


我不确定您的代码如何与Windows协同工作。

请始终参考官方文档:谢谢,但不是更改:/n您在应用程序中尝试在何处使用此功能?前端还是后端?另外,我们可以看看你的
packgage.json
文件吗?如果你想,就像我说的,前端应用程序可以在macos上运行,但不能在windows上运行,那么我不认为问题出在我的package.jsonNo后端,这可以在macos上运行?好的,有必要有两个不同的应用程序吗?一个前端应用程序与后端应用程序绑定?不完全是两个不同的应用程序,而是一个应用程序具有一个前端和一个后端代码。当然,对于后端,您需要像
ExpressJS
这样的服务器或任何其他您喜欢的服务器应用程序。使用此服务器,您可以使用此驱动程序连接到MongoDB实例。然后你的后端服务器为你的前端提供数据,但这并不能解释为什么在OSX上可以工作而在Windows上不能。通常,如果我在js文件上调用mongodb,并且我有了节点模块,它应该可以工作。。。我不这样做。但很奇怪,除非我看到你的项目,否则我不能回答这个问题。