反应本地-绝对导入package.json中的别名

Nak*_*ura 6 javascript node.js react-native es6-modules expo

我看到一些项目使用import '@someDir/something',解决了相对的导入问题。

然后,我发现这篇博客文章讨论了这种方法。它基本上告诉您package.json在目录中创建并指定其别名。

我在基于expo的react-native项目中实现了它,并且效果很好。

像这样:

{"name": "@someDir"}
Run Code Online (Sandbox Code Playgroud)

里面src/someDir/package.json

import '@someDir/something'无处不在。

为什么这样工作?魔术发生在哪里?Webpack还是Babel或react-native本身?

我看到一个讨论此功能的问题,但我不知道在哪里实现。

我的.babelrc

{
  "presets": ["babel-preset-expo"],
    "env": {
        "development": {
              "plugins": ["transform-react-jsx-source"]
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

它挖掘了通天塔的依赖,但找不到任何相关的东西。

Jan*_* F. 5

它似乎是 Metro 的一部分,它是用于 react native 的 javascript 打包器。

https://www.belighted.com/blog/react-and-react-native-directories-management

https://facebook.github.io/metro