2015-06-05 2 views
5

Использование электрона в комбинации с Angular2, Typcript и Electron. Я пытаюсь выяснить, как использовать пакет узла узла, установленный через npm. Текущая проблема заключается в том, что я должен указать местоположение модуля, например var module = require('./node_modules/xyz/lib/xyz.js'). Но тогда электрон не находит зависимости xyz, которые находятся в пределах ./node_modules/xyz/node_modules/yyy, и жалуется, что ./yyy.js не найден.Как использовать node_modules в Electron

Электронно приложение структура

dist 
├── angular2.dev.js 
├── config.js 
├── index.html 
├── main.js 
├── node_modules 
├── package.json 
└── app.js 
+0

Оказывается, я использовал npm для установки модулей, но я JSPM с Angular2 для загрузки модулей. при установке модулей с 'jspm install npm: xyz', тогда я могу потребовать модули на электроне, такие как require ('xyz'). – Karl2011

+0

Я думаю, что знаю, в чем проблема, аналогичный вопрос был задан, и я думаю, что [этот ответ] (http://stackoverflow.com/a/32335874/2295964) может вам помочь! –

ответ

0

В настоящее время проблема заключается в том, что я должен указать расположение модуля, как модуль вар = требуется (»./ node_modules/хуг/Библиотека/xyz.js')

вы должны быть в состоянии сделать var module = require('xyz'); Если у вас есть он находит в относительном пути ./node_modules/ .... что вы упомянули.

3

UPDATE:

Аналогичный question был задан и my answer, скорее всего, поможет вам здесь:

Если вы не добавить путь к папке приложения node_modules под приложения корня к NODE_PATH переменная, это не сработает. Так что вам нужно сделать что-то вроде этого:

export NODE_PATH=/PATH/TO/APP/node_modules 
electron /PATH/TO/APP 

NODE_PATH При экспорте убедитесь, что вы обеспечить абсолютный путь.


Если электрон не может найти модули, когда вы require их нормально, это признак того, что ваш package.json не содержит модули, как зависимость даже если модуль уже доступен под dist каталога.

Поэтому убедитесь, что вы находитесь внутри dist каталога и использовать

npm install --save xyz 

ПРИМЕЧАНИЕ --save флаг!

1

Если вы не включили модули в свой пакет package.json, мне было проще всего скопировать все их в node_modules в вашем выпуске. Это что-то вроде releases > ARCHITECTURE > resources > node_modules