Node.js MongoDB没有';我不能和NPM一起工作。错误只出现在窗口上,它在OSX上正常工作。未找到模块:Can';t解决';dns';
我已经在我的项目上安装了带有npm的mongodb(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 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:\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,并且我有了节点模块,它应该可以工作。。。我不这样做。但很奇怪,除非我看到你的项目,否则我不能回答这个问题。