微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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项目.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐