Создайте и используйте плагин Babel, не делая его модулем npm
В моем проекте я использую Babel 6 с требуемым крюком. Мне нужно загрузить пользовательский плагин babel, который я написал. Но действительно ли мне нужно публиковать мой плагин, используя сначала npm, а затем включить имя плагина в мой основной проект .babelrc
?
Есть ли способ напрямую загрузить код плагина? Другими словами, могу ли я просто загрузить следующее непосредственно?
export default function({types: t }) {
return {
visitor: {
...
}
};
}
Ответы
Ответ 1
Когда вы указываете свои плагины в своем .babelrc, укажите путь к плагину вместо стандартного опубликованного имени плагина.
"plugins": ["transform-react-jsx", "./your/plugin/location"]
При экспорте вашей функции плагина вам, вероятно, придется использовать module.exports =
вместо export default
, так как модули ES2015 еще не были полностью реализованы в Node.
Ответ 2
Это весь babel.config.js
файл babel.config.js
.
module.exports = function (api) {
api.cache(true);
const presets = ["@babel/preset-env", "@babel/preset-react"];
const plugins = [
["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
"c:\\projects\\my-babel-plugin"
];
return {
presets,
plugins
};
}
Первый элемент в массиве плагинов - это плагин с опциями в виде массива. Второй пункт - мой собственный локальный плагин.
Внутри my-babel-plugin
должен быть package.json
с записью "main", обычно "main": "lib/index.js"
или "main": "src/index.js"
.