Я работал над визуализацией на основе браузера с D3.Это просто html + JS.
Поскольку некоторые логические функции стали довольно сложными, я поместил их в отдельный файл JS и импортировал его с <script src="foo.js">
в index.html
.
. Теперь я хотелдобавить некоторые тесты для этих функций в foo.js
, используя mocha, но я не смог найти правильный способ заставить его работать как в <script>
import, так и в node / mocha .
Самое близкое, что я получил, - это использование exports.foo = { foo1: foo1 }
в файле foo.js
и const foo = require('../foo.js')
в моем тестовом файле.
Но тогда в браузере выдается Uncaught ReferenceError: exports is not defined
.(Этого можно избежать, определив глобальный var exports = {}
в index.html, но это, безусловно, не может быть правильным способом решения проблем).
Так что вопрос:
Как мне правильносделать мои функции в файле foo.js
тестируемыми, при этом сохраняя совместимость для импорта их в index.html с <script src="foo.js">
?