sequelize.js在使用webpack时无法找到pg依赖

时间:2015-10-20 12:18:54

标签: node.js postgresql npm sequelize.js webpack

当要求续集时,我会收到关于"关键依赖关系"的警告。 运行应用程序后,我收到以下错误:"错误:不支持方言postgres。 (错误:请手动安装' pg'模块)"。

然而,安装了pg和pg-hstore。

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

我正在使用React Starter Kit样板。导致问题的代码只不过是:

find()

我从webpack获得的确切警告是:

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

      /sequelize/lib/dialects/mssql/connection-manager.js中的

警告   关键依赖性:15:15-71依赖的请求是一个   表达式@ ./~/sequelize/lib/dialects/mssql/connection-manager.js   15:15-71

     警告在./~/sequelize/lib/dialects/mysql/connection-manager.js中   关键依赖关系:15:15-69依赖的请求是一个   表达式@ ./~/sequelize/lib/dialects/mysql/connection-manager.js   15:15-69

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

     警告在./~/sequelize/lib/dialects/sqlite/connection-manager.js   关键依赖性:19:15-71依赖的请求是一个   表达式@ ./~/sequelize/lib/dialects/sqlite/connection-manager.js   19:15-71

3 个答案:

答案 0 :(得分:1)

如果你像我一样在使用 Webpack 和 Sqlite3 或 MySQL 时遇到同样的问题,你需要使用 externals 并定义依赖项:

var config = {
  externals: ['pg', 'sqlite3', 'tedious', 'pg-hstore'],
};

可以在以下位置找到更多信息:

答案 1 :(得分:0)

很抱歉回答旧问题,但是当我尝试使用sequelize迁移时遇到了同样的错误。可能会帮助别人。

你必须安装''全局打包,它将起作用:

npm install -g pg

答案 2 :(得分:0)

According to the Webpack author解决方案是在捆绑时忽略node_modules