Проблема с использованием модулей в моем расширении кода VS с использованием require ('') - PullRequest
1 голос
/ 07 мая 2019

У меня проблемы с использованием стандартного оператора "require" при импорте модуля из другого пакета в моем расширении VS Code, предназначенного для Azure Data Studio.В настоящее время я делаю вызов в начале функции «активации», никакой другой логики раньше.

Я получаю хорошее сообщение об ошибке:

"Ошибка: динамическая ссылкаНе удалось выполнить процедуру инициализации библиотеки (DLL). "

Модуль, который я пытаюсь импортировать, из JDBC, очевидно, мне не удается загрузить требуемую библиотеку, но я не понимаю, почему.

Я думаю, что проблема может быть в следующем.

  1. Что-то не экспортируется (не включается) в выходные данные расширения, поэтому при запуске нового экземпляра Azure Data Studio возникает некоторая зависимостьотсутствует.

  2. Импорт динамической библиотеки ссылок не разрешен / невозможен внутри функции «активации», целью которой является взаимодействие с контекстом расширения и / или другими функциями, предоставляемыми VSКод API.Не уверен, почему это так.

Я действительно надеюсь, что это ближе к (1).

Я создал простое консольное приложение, установил тот же пакет и запустил тот же код, и он работает.Вот почему я надеюсь и верю, что это проблема с упаковкой, чего-то не хватает при установке расширения.

try {
        var jinst = require('jdbc/lib/jinst'); // <-- This fails when activating the extention

        if (!jinst.isJvmCreated()) {
           //Setup stuff.. 
        }      
    }
    catch (error) {
        console.error(error);
    }

Мои зависимости (package.json).

"dependencies": {
        "java": "^0.11.0",
        "jdbc": "^0.6.3"
    }

1 Ответ

0 голосов
/ 12 мая 2019

Похоже, что при разработке расширений для кода VS импорт модулей, которые требуют собственной функциональности, то есть загрузки двоичных файлов, не нужен.

https://github.com/microsoft/vscode-docs/issues/2211

...