Попытка связать нативный модуль с помощью electronic-webpack
Я написал собственный модуль на C++, используя заголовки v8.h, и я хочу импортировать его в свое электронное приложение.
Модуль работает отлично. Я компилирую его в его собственную папку, затем копирую и вставляю.node в этот шаблон https://github.com/szwacz/electron-boilerplate и мне требуется это с помощью bindings
пакет.
Я хотел бы использовать этот https://github.com/electron-userland/electron-webpack-quick-start в качестве отправной точки для создания моего электронного приложения. Главным образом по двум причинам: это рекомендуемый способ, и он обещает упаковать ваше приложение для macos, linux и windows. Я скопировал папку, содержащую исходный код, в корневую папку проекта, я добавил bindings.gyp
файл и "nodeGypRebuild": "true",
к package.json
в корневой папке. Модуль скомпилирован с yarn install
но если я попытаюсь импортировать его import {Module} from 'MyModule'
в src/main/index.js
и беги yarn dev
выход
Module not found: Error: Can't resolve 'MyModule' in '/Users/BiA/Src/WebPack/src/main'
Погугливая проблему, я приземлился здесь https://github.com/chentsulin/electron-react-boilerplate/wiki/Module-Structure----Two-package.json-Structure и теперь я еще более запутался, так как есть нет app/
папка в electron-webpack-quick-start
Может ли кто-нибудь помочь мне найти выход из этого тупика? Существует ли документация, которая охватывает этот случай? Даже рабочий пример, такой как проект с открытым исходным кодом, где я могу научиться делать это, помог бы.
редактировать: чтобы лучше понять проблему, я создал простой репозиторий git: https://github.com/BiancoA/electron-webpack-quick-start-nm
1 ответ
Я нашел решение проблемы с помощью yarn link
: https://yarnpkg.com/lang/en/docs/cli/link/
здесь я сохранил рабочий проект: https://github.com/BiancoA/electron-webpack-quick-start-nm
Если есть другие возможные способы, я буду рад узнать их