Требование не определено в расширении Chrome - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть расширение Chrome, и я хочу проверить a.js .

В chrome a.js зависит от b.js - который вводится перед загрузкой a.js .

Я пишу некоторые юнит-тесты в Node.JS, используя mocha .и он требует, чтобы я поставил import или что-то вроде const { functions } = require('b.js') в начале a.js .Но в chrome require не определено.

Я поместил ниже в начало a.js , но расширение Chrome не работает (я не вижу ошибок в)

if (typeof module !== 'undefined'  && typeof module.exports !== 'undefined') {
   const { functions } = require('b.js'); 
}

Как заставить его работать в Chrome и юнит-тестах?на данный момент я могу вручную добавить require перед выполнением npm run test и удалить его при упаковке Chrome Extension.

1 Ответ

0 голосов
/ 21 ноября 2018

Я наконец-то решил эту проблему, используя webpack.

  1. , выполняя модульные тесты, используя npm run test
  2. , используя npm run build, который вызывает webpack -p для упаковки ES6классы во что-то, что понимает расширение Chrome.

Вы можете видеть этот проект, который просто отлично работает: https://github.com/DoctorLai/VideoDownloadHelper

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...