node.js – 找不到模块:无法解析pg / lib中的’dns’

我做了创建反应应用程序,并安装了sequelize和pg.但是当我开始运行时,我收到以下错误

./node_modules/pg/lib/connection-parameters.js

找不到模块:无法解析’/ Users / vedant / Web Dev / device_psql / node_modules / pg / lib’中的’dns’

这是App.js文件

import React,{ Component } from 'react';
const Sequelize = require('sequelize');
const sequelize = new Sequelize('postgres','postgres','password',{
host: 'localhost',dialect: 'postgres',pool: {
  max: 5,min: 0,acquire: 30000,idle: 10000
},// http://docs.sequelizejs.com/manual/tutorial/querying.html#operators
operatorsAliases: false
});

class App extends Component {
render() {
  return (
    <div >
      <p>Test</p>
    </div>
  );
}
}

export default App;

另外,在package.json文件中,我有sequelize和pg.可能是什么问题呢?我试图删除node_modules文件夹并执行npm install,但没有运气.

提前致谢.

解决方法

之所以发生这种情况,是因为您的某个软件包使用的是JavaScript承诺,它依赖于dns模块,该模块仅在Node.js(服务器端)中可用,而不是在您的代码在浏览器中运行时.虽然实现依赖于它,但它不需要它工作,因此您可以通过伪造dns模块的存在来解决问题.

为此,请按照下列步骤操作:

创建一个文件夹/ src / mock / dns.在此文件夹中,创建一个包含以下内容文件index.js:

module.exports = {}; 
module.exports.default = {};

同样在此文件夹中,创建一个包含以下内容文件package.json:

{ 
  "name": "dns","version": "3.1.0","private": true 
}

在根package.json中,将以下行添加到依赖项:

"dns": "file:./src/mock/dns"

运行npm install以安装假依赖项,然后使用npm start重新启动React项目.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...