Node.js sequelize.js可以';使用webpack时找不到pg依赖项

Node.js sequelize.js可以';使用webpack时找不到pg依赖项,node.js,postgresql,npm,sequelize.js,webpack,Node.js,Postgresql,Npm,Sequelize.js,Webpack,当需要sequelize时,我得到一些关于“关键依赖项”的警告。 运行应用程序后,我收到以下错误:“错误:方言postgres不受支持。(错误:请手动安装'pg'模块)” 但pg和pg hstore均已安装 我认为问题在于sequelize.js动态地寻找postgres。我试图使用webpack ContextReplacementPlugin,但我不知道如何使用 我正在使用React初学者工具包样板。导致问题的代码只不过是: var Sequelize = require('sequeliz

当需要sequelize时,我得到一些关于“关键依赖项”的警告。 运行应用程序后,我收到以下错误:“错误:方言postgres不受支持。(错误:请手动安装'pg'模块)”

但pg和pg hstore均已安装

我认为问题在于sequelize.js动态地寻找postgres。我试图使用webpack ContextReplacementPlugin,但我不知道如何使用

我正在使用React初学者工具包样板。导致问题的代码只不过是:

var Sequelize = require('sequelize');
//get the database info
import { dbModelLocation} from '../config';
import { dbConnectionConfig } from '../config';

var sequelize = new Sequelize(dbConnectionConfig.name,
  dbConnectionConfig.user,
  dbConnectionConfig.pass,
  dbConnectionConfig.options);
我从网页上得到的确切警告如下:

./~/sequelize/lib/sequelize.js关键依赖项中的警告: 636:60-73依赖项的请求是一个表达式@ ./~/sequelize/lib/sequelize.js 636:60-73

./~/sequelize/lib/dialogs/mssql/connection-manager.js中的警告 关键依赖项:15:15-71依赖项的请求是 表达式@./~/sequelize/lib/dialogs/mssql/connection-manager.js 15:15-71

./~/sequelize/lib/dialogs/mysql/connection-manager.js中的警告 关键依赖项:15:15-69依赖项的请求是 expression@./~/sequelize/lib/dialogs/mysql/connection-manager.js 15:15-69

./~/sequelize/lib/dialogs/postgres/connection-manager.js中的警告 关键依赖项:16:41-92依赖项的请求是 表达式16:102-153依赖项的请求是一个表达式@ ./~/sequelize/lib/dialogs/postgres/connection-manager.js 16:41-92 16:102-153

./~/sequelize/lib/dialogs/sqlite/connection-manager.js中的警告 关键依赖项:19:15-71依赖项的请求是 表达式@./~/sequelize/lib/dialogs/sqlite/connection-manager.js 19:15-71


很抱歉回答了老问题,但我在尝试使用sequelize迁移时遇到了相同的错误。也许它会帮助别人

您必须在全球范围内安装“pg”软件包,该软件包将:

npm install -g pg

解决方案是在捆绑时忽略节点模块。

如果您和我一样在使用Webpack和Sqlite3或MySQL时遇到同样的问题,则需要使用外部模块并定义依赖项:

var配置={
外部:['pg','sqlite3','tedous','pg hstore'],
};
有关更多信息,请参见以下内容:

  • 无法解决
  • 网页包

您可以发布导致这些错误的代码吗?只需执行“var Sequelize=require('Sequelize');”将给出所有网页警告。实际上打开连接会导致postgres错误。您是否解决了该问题?我发现了这个错误,我们在2019年推出了最新版本的sequelize…:(