Node.js/Electron/React:msnodesqlv8安装警告关键依赖项:依赖项的请求是一个表达式

Node.js/Electron/React:msnodesqlv8安装警告关键依赖项:依赖项的请求是一个表达式,node.js,sql-server,reactjs,electron,yarnpkg,Node.js,Sql Server,Reactjs,Electron,Yarnpkg,我正在尝试在electron react样板上创建一个简单的electron应用程序,用于查询我拥有的Microsoft SQL server的本地实例。由于我想使用Windows身份验证,似乎我必须使用msnodesqlv8软件包,但在安装时它会抛出一系列警告,从而导致启动时出错和崩溃 我的系统环境是安装在64位Windows 10上的electron react样板(包括网页包),带有本地运行的MS SQL Server 2017实例。我通过Thread进行包管理,但npm安装也会产生同样的

我正在尝试在electron react样板上创建一个简单的electron应用程序,用于查询我拥有的Microsoft SQL server的本地实例。由于我想使用Windows身份验证,似乎我必须使用msnodesqlv8软件包,但在安装时它会抛出一系列警告,从而导致启动时出错和崩溃

我的系统环境是安装在64位Windows 10上的electron react样板(包括网页包),带有本地运行的MS SQL Server 2017实例。我通过Thread进行包管理,但npm安装也会产生同样的问题。Cmd正在以管理员身份运行。我的流程版本如下:

chrome:“78.0.3904.130”
电子:“7.1.4”
节点:“12.8.1”
v8:“7.8.279.23-electron.0”

准确的原木纱线为:

WARNING in ./node_modules/msnodesqlv8/lib/bootstrap.js 37:23-38
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/msnodesqlv8/lib/connection.js
 @ ./node_modules/msnodesqlv8/lib/sql.js
 @ dll renderer

WARNING in ./node_modules/msnodesqlv8/lib/bootstrap.js 57:25-40
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/msnodesqlv8/lib/connection.js
 @ ./node_modules/msnodesqlv8/lib/sql.js
 @ dll renderer
这似乎是包含的引导库中的一个错误,但我没有找到任何方法来停止或修复它。如果有人知道如何使这个驱动程序工作(或任何MSQL Windows身份验证替代msnodesqlv8),我将感谢您的帮助

编辑 由于使用了以下步骤,我找到了一个临时解决方法

  • 安装
  • npm安装节点加载器--保存开发
    添加节点加载器

    将以下规则添加到
    webpack.config.js
    (或
    webpack.config.base.js
    ,如果使用
    electron react样板文件

    {
    测试:/\.node$/,,
    使用:'节点加载器'
    }
    
  • 安装
  • 如果您已经安装了
    mssqlv8
    软件包,请通过运行
    npm uninstall mssqlv8
    卸载mssqlv8
    将其删除。然后使用
    npm
    warn
    重新安装特定拉力请求:

    npm安装--保存dev TimelordUK/node-sqlserver-v8#pull/131/head

    纱线添加TimelordUK/node-sqlserver-v8#131/头

  • 将相关的
    .node
    二进制文件从
    /node\u modules/msnodesqlv8/lib/bin
    复制到
    /app/bin
    目录 在我的例子中,这是
    sqlserverv8.node.v12.13.0.electron.v7.1.2.x64.node
    文件。您的webpack输出文件夹可能不同,但对我来说,它是
    app
    文件夹,因为我使用的是react样板文件。您可以在webpack配置中找到您的输出文件夹,确保它包含一个带有适当的
    .node
    二进制文件的
    bin
    子文件夹

  • 像往常一样使用
    msnodesqlv8