Я ищу безопасный способ использовать псевдонимы, используя gulp. Идея похожа на то, что веб-пакет предлагает с псевдонимом разрешения .
Например, я добавляю в свой исходный код что-то вроде require('@plugin/utils')
, и оно переводится в нечто, выбранное мной, например require('$/plugins/longer/namespace/utils')
. Вы, вероятно, заметили, что он не соответствует ни одному действительному пути к файлу, и это преднамеренно (это файлы tiddlywiki, если кому-то интересно). Лучшее, что я нашел, это gulp-replace , но в худшем случае он использует замены строк и в лучшем случае регулярные выражения. В идеале я хотел бы что-то более надежное, что-то, что знает AST, поэтому я уверен, что я никогда не заменю неправильную строку (например, строку шаблона). Я также использую babel, поэтому, если есть плагин babel, который я могу использовать, я тоже буду этому рад. В качестве последнего средства я могу попытаться написать некоторый плагин babel или плагин gulp, используя esprima, но esprima не соответствует современному JS стандарту (не анализирует распространение объекта), и я бы предпочел создать другой инструмент.
Спасибо заранее