问题标签 [babel-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
50 浏览

javascript - Javascript new syntax implementation

Can anyone give me a direction on how to implement python like syntax of lists array[-1] using Babel in javascript? I mean how to implement negative indexes.

0 投票
2 回答
478 浏览

babeljs - Babel 插件错误:不要将 `path.replaceWith()` 与源字符串一起使用,请使用 `path.replaceWithSourceString()`

编辑/更新:

我接受了 loganfsmyth 的建议并将 babel 作为 sveltify 函数的第一个参数,我可以访问/控制台日志 babel.template.statement.ast 但是,如果我尝试调用该函数,我的应用程序将无限期挂起。

详细信息:

我正在尝试将它与 svelte 一起使用来替换导入语句,并且我有一个插件:

和我的通天塔选项:

最后,我稍后在我的代码中使用它来调用转换,如下所示:

0 投票
0 回答
155 浏览

javascript - 将 React Typescript 代码转换为 ES5 代码

我们创建了一个 npm 包,它将一个 react 组件导出为一个可以在任何其他 react 应用程序中重用的包。

到目前为止,我们使用的是基本的 CRA(创建 React 应用程序),几天前我们开始在项目中使用 Typescript。

要将 react 应用程序转换为 ES5 Javascript 代码,我们使用 babel 和以下插件:

但是由于我们现在已经在现有项目中添加了 typescript,我们的文件结构由 ['.js','.jsx','.ts','.tsx'] 文件扩展名组成。

我们尝试添加这个插件 - “@babel/plugin-transform-typescript”。但这给出了一个没有描述实际问题的语法错误。

我们假设我们的项目同时包含 javascript 文件和 typescript 文件,这就是为什么会发生这种情况,并且该插件只是应该将 typescript 转换为 ES5 Javascript。

如果您知道我们如何将 ReactJs - Typescript 代码转换为 es5 代码,请分享您的解决方案。

0 投票
1 回答
71 浏览

babeljs - 使用 codemod 运行时,Babel 插件 addComment 不起作用

我创建了一个 babel 插件:

我希望它应该// @@@ My precious @@@在模块顶部添加一个注释行,并在注释后添加一个空行。

我用@codemod/cli 运行了这个插件:

而且我在源文件中只插入了一个空行,没有注释行。如果我在 astexplorer.net 中尝试相同的代码,它工作正常。

我尝试使用 "comments": true 选项添加 .babelrc 文件并使用 --find-babel-config 参数运行 codemod。同样的结果。

我做错什么了?

0 投票
0 回答
27 浏览

babeljs - babel 插件有订单吗?为什么插件无法得到插件前执行的结果

演示

babel.config.js

src/index.js

src/a.js

运行缩小死代码消除

输出:

在我的插件中

安慰

神奇的是我的插件console.log显示我得到了应该被“minify-dead-code-elimination”删除的第四行。

无论是单独运行“minify-dead-code-elimination”,还是结合我的插件,输出都可以删除if (false)代码块。所以babel版本没有问题

那么结论是第二个插件没能拿到前一个插件执行的代码?请解释

0 投票
1 回答
167 浏览

typescript - 用 TypeScript 编写的 Babel 插件参数的类型是什么?

我正在用 TypeScript 编写一个 Babel 插件,并且一直在努力寻找很多这样做的示例或文档。例如,我正在编写一个带有以下签名的访问者插件:

我从以下几种类型中获得:

困扰我的部分{ types: t }: typeof babel是来自

我在网上找到的几个例子都在使用这个,但这真的应该是这样输入的吗?

0 投票
1 回答
29 浏览

babeljs - 在 babel 插件中创建唯一标识符

我想创建全局变量并确保它们不会与现有的全局变量名称冲突。

替换所有数组声明的示例:

0 投票
0 回答
45 浏览

visual-studio-code - 在 VS Code 中支持自定义 babel 解析器

我正在为我的 babel 插件制作一个自定义 babel 解析器,其中我有一个新符号,它工作得很棒,但 VS Code 不知道它并不断显示该符号的错误。

有没有办法为 VS Code 设置自定义解析器,或者我在配置中遗漏了一些东西?

babel.config.json

自定义插件

0 投票
0 回答
904 浏览

babeljs - 如何在 React App 中启用私有方法语法建议?

我得到“未启用类私有方法”。npm start在使用前导 # 指示私有方法的项目上运行时出错。我遵循了这个答案:https ://stackoverflow.com/a/55822103/4258041启用装饰器并且它起作用了,但是我找不到相应customize-cra的组件来以相同的方式添加私有方法语法。 "@babel/plugin-proposal-private-methods": "^7.14.5"已经安装并保存在我的 packages.json 中。

0 投票
0 回答
151 浏览

javascript - babel-plugin-rewire 无法正常使用 React Native 项目

我目前正在创建一个小型 React Native 应用程序。为了测试,我声明使用 babel-plugin-rewire 来访问未导出的函数。现在我的所有测试都运行良好,但如果我尝试运行我的应用程序,我会收到以下错误:

我的项目是用 JS 编写的。

.babelrc:

我已经搜索过,但从未找到有帮助或与 babel-plugin-rewire 相关的东西。

已经感谢您的帮助。

干杯