最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - react native - absolute import with alias name in package.json - Stack Overflow

programmeradmin4浏览0评论

I saw some projects using import '@someDir/something', which solves the relative import evil.

Then I found this blog post talking about this method. It basically tells you to create package.json in directories and specify their alias names.

I implemented it in my react-native project, which is based on expo, and it works well.

Something like this:

{"name": "@someDir"}

inside src/someDir/package.json.

And I can import '@someDir/something' everywhere.

Why is this working? Where is the magic happening behind? Webpack or babel or react-native itself?

I saw an issue discussing about this feature but I don't know where is it implemented.

My .babelrc:

{
  "presets": ["babel-preset-expo"],
    "env": {
        "development": {
              "plugins": ["transform-react-jsx-source"]
      }
    }
}

It digged into the babel dependecies but cannot find anything related.

I saw some projects using import '@someDir/something', which solves the relative import evil.

Then I found this blog post talking about this method. It basically tells you to create package.json in directories and specify their alias names.

I implemented it in my react-native project, which is based on expo, and it works well.

Something like this:

{"name": "@someDir"}

inside src/someDir/package.json.

And I can import '@someDir/something' everywhere.

Why is this working? Where is the magic happening behind? Webpack or babel or react-native itself?

I saw an issue discussing about this feature but I don't know where is it implemented.

My .babelrc:

{
  "presets": ["babel-preset-expo"],
    "env": {
        "development": {
              "plugins": ["transform-react-jsx-source"]
      }
    }
}

It digged into the babel dependecies but cannot find anything related.

Share Improve this question edited Mar 12, 2018 at 18:21 Nakamura asked Mar 12, 2018 at 18:15 NakamuraNakamura 1,0412 gold badges13 silver badges23 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

It seems to be part of metro, the javascript bundler for react native.

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

https://facebook.github.io/metro

发布评论

评论列表(0)

  1. 暂无评论