1PeGaS
@1PeGaS

Как подключить/использовать самописный babel-плагин?

Я написал babel-плагин, который всем переменным с именем test присваивает число 777.
const babel = require('@babel/core');
	const code = `const test = 'text'`;

	const output = babel.transformSync(code, {
		plugins: [
			function myCustomPlugin() {
				return {
					visitor: {
						Identifier(path) {
							if (path.isIdentifier({ name: 'test' })) {
								path.parentPath.get('init').node.value = 777
							}
						},
					},
				};
			},
		],
	});


Сейчас в качестве кода используется строка code.

Как мне подключить этот babel-плагин в вэбпаке, чтобы вместо строки code был код определённого файла, например script.js? Чтобы этот плагин работал на определённый файл
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Во-первых. нужно оформить именно как плагин:
https://github.com/jamiebuilds/babel-handbook/blob...
export default function({ types: t }) {
  return {
    visitor: {
      Identifier(path) {
        if(path.isIdentifier({ name: 'test' })) {
          path.parentPath.get('init').node.value = 777
        }
      }
    }
  };
};

Во-вторых, делаем кофиг бабеля в js формате, и прописываем абсолютный путь к нашему плагину в секции plugins, path.join и __dirname в помощь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы