Я пытаюсь создать простое электронное приложение, основанное на шаблоне электронной реакции, которое запрашивает локальный экземпляр сервера Microsoft SQL, который у меня есть. Поскольку я хочу использовать Windows Authentication, кажется, что мне нужно использовать пакет msnodesqlv8, но при установке он выдает серию предупреждений, которые затем приводят к ошибкам и сбоям при запуске.
Моя системная среда - это электронно-реактивный шаблон (который включает в себя веб-пакет), установленный на 64-битном Windows 10, с локально работающим экземпляром MS SQL Server 2017. Я управляю пакетом через пряжу но npm install приводит к тем же проблемам. Cmd запускается от имени администратора. Мои версии процесса следующие:
chrome: "78.0.3904.130"
electron: "7.1.4"
node: "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
Кажется, это ошибка во включенном bootstrap библиотека, но я не нашел способа остановить или исправить это. Если кто-нибудь знает, как заставить этот драйвер работать (или какие-либо MS SQL Windows альтернативы аутентификации msnodesqlv8), я был бы признателен за помощь.
Edit
Я нашел предварительный обходной путь, спасибо TimelordUK / node-sqlserver-v8 / pull / 131 , используя следующие шаги:
- установить node-loader
npm install node-loader --save-dev
или yarn add node-loader
добавьте следующее правило к вашему webpack.config.js
(или webpack.config.base.js
, если используете electron-react-boilerplate
)
{
test: /\.node$/,
use: 'node-loader'
}
install
node- sql -server-v8 / pull / 131 Если у вас уже установлен пакет mssqlv8
, удалите его, запустив npm uninstall mssqlv8
или yarn remove mssqlv8
. Затем переустановите указанный c запрос на получение с помощью npm
или yarn
:
npm install --save-dev TimelordUK/node-sqlserver-v8#pull/131/head
yarn add TimelordUK/node-sqlserver-v8#131/head
Скопируйте соответствующий двоичный файл
.node
из
/node_modules/msnodesqlv8/lib/bin
в каталог
/app/bin
.
В моем случае это был файл sqlserverv8.node.v12.13.0.electron.v7.1.2.x64.node
. Ваша папка вывода в веб-пакете может отличаться, но для меня это папка app
, так как я использую шаблон реагирования. Вы можете найти вашу выходную папку в конфигурации веб-пакета, убедитесь, что она содержит подпапку bin
с соответствующим двоичным файлом .node
.
Используйте
msnodesqlv8
как обычно!