2017-01-31 7 views
1

Я пытаюсь упаковать свое электронное приложение, и для этого требуется модуль mqtt и node-notifier. Так что я хочу сделать, это исключить все узловые_модули, кроме них.В Electron, как включить только определенные node_modules с электронным упаковщиком?

Давайте предположим, что я хочу, чтобы исключить эти файлы из упаковки:

  • NPM-отлаживать
  • gulpfile.js
  • .vscode

Так установка --ignore вариант, как это :

--ignore='npm-debug|gulpfile\.js|\.vscode' 

работающий хорошо. Но кроме исключения node_modules, кроме mqtt и node-notifier, я не знаю, как создать регулярное выражение!

--ignore='npm-debug|gulpfile\.js|\.vscode|^((?!node_modules/mqtt).)$' // NOT WORKING 

Только проверка node_modules, /^((?!node_modules/mqtt).)$/ работа, но объединить их в единое регулярное выражение линии, это не работает.

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

Это Regex Testing site, вы можете видеть, где я застрял.

Любой совет будет очень благодарен. Благодаря!

+0

у вас есть ** ignode ** instaead из ** игнорировать ** во втором коде you'v eposted. В любом случае я обычно сохраняю все модули с помощью '--save-dev' и добавляю их в свой пакет.json соответственно, так что, когда я запускаю электронный пакет, он автоматически упаковывает их все без проблем. – briosheje

+0

@briosheje Это просто опечатка, я обнов его позже. В любом случае, я также уже задал зависимости: mqtt и node-notifier, а другие - devDependencies. Но когда я запускаю электрон-упаковщик, они все еще находятся внутри упакованного приложения! – modernator

ответ

1

От упаковщика github page

Будьте осторожны, чтобы не включать node_modules вы не хотите в вашем окончательном приложении. Если вы поместите их в раздел devDependenciespackage.json, по умолчанию ни один из модулей, связанных с этими зависимостями, не будет скопирован в пакеты приложений. (Такое поведение может быть отключено с --no-prune флагом.)

С электронно-упаковщик API page о --prune флаг

Запускает команду менеджера пакета, чтобы удалить все пакеты, указанные в devDependencies разделе package.json из выведенного приложения Electron.

Вы должны быть в состоянии просто поставить все пакеты, кроме mqtt в devDependencies и выполнения упаковки