【问题标题】:"Uncaught Error: Received packet in the wrong sequence" with devtools off - Electron + MySQL node driver + Webpack“未捕获的错误:以错误的顺序接收数据包”,关闭 devtools - Electron + MySQL 节点驱动程序 + Webpack
【发布时间】:2017-02-25 18:23:25
【问题描述】:

当我使用 Electron + Webpack + node MySQL 建立一个新项目时,我的生产构建正在抛出:

Uncaught Error: Received packet in the wrong sequence

只有在我的生产版本中保留:config.devtools = 'eval' 时错误才会消失,显然这会导致文件变大和一些我想避免的性能问题。

为什么我的项目/mysql 模块在devtools 设置为'' 时崩溃??我几乎找不到类似的报告,只有我有这个问题吗?

webpack.config.js:

...

 if (process.env.NODE_ENV === 'production') {
      config.devtool = '' // <-------- mysql will throw Uncaught Error if I omit 'eval'

      config.plugins.push(
        new webpack.DefinePlugin({
          'process.env.NODE_ENV': '"production"'
        }),
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.optimize.UglifyJsPlugin({
          compress: {
            warnings: false
          }
        })
      )
    }

home.js:

<script>
  var mysql = require('mysql')
  var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'password',
    database: 'EONIC'
  })

  connection.connect()
  connection.query('SELECT * from products', function (err, rows, fields) {
    if (err) throw err <---- here will the error happen
    console.log(rows)
  })

  connection.end()

</script>

mysql/lib/protocol/Protocol.js 第 272 行的错误来源:

 if (!sequence[packetName]) {
    var err   = new Error('Received packet in the wrong sequence.');
    err.code  = 'PROTOCOL_INCORRECT_PACKET_SEQUENCE';
    err.fatal = true;

    this._delegateError(err);
    return;
  }

【问题讨论】:

  • 我也有同样的问题,你解决了吗?

标签: mysql node.js webpack electron devtools


【解决方案1】:

这可能与 Webpack 默认最小化器中的 mangle 选项与 Node 的 Mysql 包结合使用有关。

我也遇到过相同和类似的问题,但无法准确指出。

有很多与此问题相关的问题:

但我发现的最佳解决方案是:

optimization: {
    minimizer: [new TerserPlugin({ terserOptions: { mangle: false } })] // mangle false else mysql blow ups with "PROTOCOL_INCORRECT_PACKET_SEQUENCE"
  },

是 Rudijs 在 mysql 问题中的威胁:https://github.com/mysqljs/mysql/issues/1655#issuecomment-484530654

希望对你有帮助,请给我留言!

【讨论】:

  • 是的,这与优化有关,我正在使用 ERB 电子反应样板,有同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2011-11-12
  • 2011-10-20
  • 2017-05-23
  • 2014-10-24
  • 1970-01-01
相关资源
最近更新 更多