Node.js 创建并使用巴别塔插件,而不将其作为npm模块
在我的项目中,我使用带require钩子的Babel6。我需要加载一个自定义的巴别塔插件,我写的。但是我真的需要先使用npm发布我的插件,然后在我的主项目的Node.js 创建并使用巴别塔插件,而不将其作为npm模块,node.js,babeljs,Node.js,Babeljs,在我的项目中,我使用带require钩子的Babel6。我需要加载一个自定义的巴别塔插件,我写的。但是我真的需要先使用npm发布我的插件,然后在我的主项目的.babelrc中包含插件名称吗 有没有办法直接加载插件代码?换句话说,我可以直接加载以下内容吗 export default function({types: t }) { return { visitor: { ... } }; } 在.babelrc中列出插件的地方,提供插件的路径,而不是标准的已发
.babelrc
中包含插件名称吗
有没有办法直接加载插件代码?换句话说,我可以直接加载以下内容吗
export default function({types: t }) {
return {
visitor: {
...
}
};
}
在.babelrc中列出插件的地方,提供插件的路径,而不是标准的已发布插件名称
"plugins": ["transform-react-jsx", "./your/plugin/location"]
导出插件函数时,可能需要使用
module.exports=
而不是export default
,因为ES2015模块尚未在Node中完全实现。这是我的整个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”
,谢谢!我希望这在babel的网站/文档中更为明显。路径究竟应该是相对于什么的?它是相对于babel运行的每个文件的。。。这意味着它总是在变化。最好使用path。解析以获得插件的绝对路径并使用它