问题标签 [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 回答
587 浏览

react-native - 使用 react-native 0.43.3 的 babel-plugin-root-import 错误路径

我这样称呼它:import { SplashContainer, FooterTabsContainer, SettingsContainer } from '~/containers' 它应该从目录中读取/Users/jasan/Desktop/ReactModoro/app/containers 它似乎添加app/containers/Navigator在路径中

我的 babel rc 文件: { "presets": [ "react-native-stage-0" ], "plugins": [ ["babel-root-import", { "rootPathSuffix": "app" }] ]}

截图_2017_04_16_20_18_22

0 投票
3 回答
1689 浏览

javascript - 如何在 babel 插件中遍历 Path 的范围

我正在尝试编写一个简单的 babel 插件,但是我很难用嵌套的访问者遍历匹配的节点。我想require在一个模块中找到需要某个模块的所有调用,然后在同一范围内应用一些转换。

为了用一个人为的例子来说明这一点,我想将源代码转换为:

变成类似的东西:

我试图做以下事情:

我的方法是否有缺陷,或者从代码的角度来看我需要做些什么不同的事情?

0 投票
0 回答
213 浏览

react-css-modules - 如何在使用 babel-plugin-react-css-modules 时忽略第三方组件 css 文件

我有这种情况,在我的一个 Component JSX文件(例如List.jsx)中导入样式如下:

  • 第一次导入,.rcss 是css我们使用react-css-modules规则的本地文件
  • 第二次导入属于 FixedDataTable 组件(第三方)

  • 第三次导入是使用标准规则的全局css文件css

这适用于react-css-modulesbabel-plugin-react-css-modules会抛出错误,因为我们正在导入两个匿名导入。

有解决方法或解决方法吗?

0 投票
0 回答
285 浏览

javascript - Graphql 查询语句 `graphql` 没有被 babel-plugin-relay 解释

我正在尝试在我的 Realy Modern 应用程序上设置 GraphQL,但 babel 无法处理我的查询。我grapqh收到以下运行时错误:

graphql:运行时意外调用。要么未设置 Babel 转换,要么未能识别此调用站点。确保它被逐字用作`graphql`

babel-plugin-relay我正在使用具有以下配置的较新版本:

还有我的 App.js:

0 投票
1 回答
202 浏览

babeljs - 如何将 VariableDeclarator 转换为 AssignmentExpression?

我正在尝试将类似的东西var a = 5;转换为类似的东西thing.a = 5

在我的访问者中使用下面的代码,它告诉我unexpected token .

我在这里没有考虑什么?

实现此目的的规范方法是什么?

0 投票
0 回答
398 浏览

reactjs - 根据构建配置在 React Native 中动态地需要/导入不同的组件模块

我正在开发一个 React Native 项目,我们需要构建两种不同风格的应用程序,它们基本相同,但在一些小功能上有所不同。我想看看是否有办法通过 babel 以某种方式做到这一点,通过为每个构建具有类似命名的不同文件并通过设置和环境变量触发不同的构建。这类似于 React Native 为 iOS 和 Android 提供自定义 js 文件的方式,如下所示:

所以我不同的构建风格看起来像这样:

甚至

我正在尝试找到一种使用 babel 更改 require() 函数(和 import 语句)的方法,以便从简单的 require 调用中解析正确的文件:

取决于设置的FLAVOR环境变量。或者:

我已经考虑过尝试使用 , 的组合,babel-plugin-module-resolver但是如果不编写自己的 babel 插件,我就无法解决这个问题。babel-plugin-replace-requirebabel-preprocessor

有没有更简单的方法可以实现我所缺少的?

0 投票
2 回答
66 浏览

javascript - 如果 object.assign 是内置的,为什么要使用 bable-plugin 呢?

.babelrc我在文件中找到了这个插件

据我所知,这Object.assign()是所有现代浏览器中的内置方法。

那么为什么将它用作 .babelrc 中的插件呢?

谢谢。

0 投票
1 回答
1077 浏览

visual-studio-code - VS Code 错误信息和 Babel 插件

我该如何使用这个插件

https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-pipeline-operator

并阻止 VS Code 在|>不完全关闭错误检查的情况下向我询问操作员?

任何建议表示赞赏!

0 投票
1 回答
869 浏览

javascript - 如何编写一个将输出传递给其他插件的 babel js 插件?

我正在尝试编写一个将内容添加到文件中的 babel 插件——例如;将行console.log("start of " + __filename);和添加console.log("end of " + __filename);到每个文件。

到目前为止,我已经设法编写了一个完全执行此操作的访问者,但是在我的插件运行之前或之后,现有代码不会被任何其他插件修改。

例如,我有以下文件:

单独使用env预设(即没有我的插件)和targets.node: 'current'我最终得到输出的选项 - 请注意,es6 导入已转换为 commonjs 需要:

但是,只要我将自己的插件添加到此;似乎env跳过了预设以支持我自己的插件-但是我希望应用两个插件(最好是我的插件)。


到目前为止,我的插件代码如下所示:

.babelrc的很简单:

这正在产生输出:

谁能建议我将 babel 与其他插件链接我的插件以允许我组合使用多个插件?

0 投票
2 回答
2685 浏览

android - 构建 react-native .apk 时无法解析模块,babel-plugin-module-resolver 别名

我正在使用babel-plugin-module-resolver来处理../../../地狱。在我的.babelrc我有:

示例用法:import { Text } from '@common'

这在开发模式下运行良好,但是当我尝试发布 Android .apk 文件时cd android && ./gradlew assembleRelease && cd ..出现错误:

似乎 gradlew 没有使用我的 .babelrc?

版本

提前致谢。