Мне нужен код javascript, который можно использовать в браузере как «прямую зависимость» через импорт тегов скрипта, и иметь такой же код, «импортируемый» в тестах jest или в более структурированном коде (например, в веб-приложении VueJS).
Причина в том, что у меня есть веб-приложение со множеством страниц с более простым javascript, использующим некоторые «общие» библиотеки (StringUtilities, RestUtilities и т. Д.): Все эти библиотеки написаны на Typescript как модуль, поэтому я могу использоватьвсе они напрямую, без какой-либо системы загрузчика модулей, веб-пакета или чего-либо еще: нужен только tsc.НО сейчас я делаю отличные вещи с VueJs и typcript и WebPack, и я хотел бы повторно использовать эти библиотеки (также хорошо протестированные с qunit), НО, когда я пытаюсь сделать некоторые тесты в Jest, я получаю ошибку, потому чтообщая библиотека отсутствует.
Все мои модули такие:
module MyOrg {
export module Str {
export function IsNullOrEmpty(val: string | null | undefined): boolean {
return val === undefined || val === null || val === "";
}
}
}
На веб-странице я могу просто импортировать ее следующим образом:
<script src="js/MyOrg.Str.js"></script>
Инаконец, используйте его как:
if (MyOrg.Str.IsNullOrEmpty("")){
//..
}
Тем временем я хотел бы иметь в своем приложении VueJs более современный подход, такой как:
export function IsNullOrEmpty(val: string | null | undefined): boolean {
return val === undefined || val === null || val === "";
}
...
import {IsNullOrEmpty} from "MyOrg.Str";
Я думаю, что, возможно, я смогу переписатьвсе модули в виде списка функций экспорта и их использования в унаследованном коде через систему сборки, которая преобразует функции в модуле: можно сделать?и как?