相対的なインポートの悪を解決するimport '@someDir/something'
を使用するいくつかのプロジェクトを見ました。
それから私はこれを見つけました ブログ投稿 この方法について話している。基本的に、ディレクトリにpackage.json
を作成し、それらのエイリアス名を指定するように指示します。
Expoをベースにしたreact-nativeプロジェクトに実装しましたが、うまく機能しています。
このようなもの:
{"name": "@someDir"}
src/someDir/package.json
内。
そして、私はどこでもimport '@someDir/something'
できます。
なぜこれが機能するのですか?魔法はどこで起こっているのですか? Webpackまたはbabelまたはreact-native自体?
問題 この機能について話し合っているのを見ましたが、どこに実装されているのかわかりません。
私の.babelrc
:
{
"presets": ["babel-preset-expo"],
"env": {
"development": {
"plugins": ["transform-react-jsx-source"]
}
}
}
それはバベルの依存関係を掘り下げましたが、関連するものは何も見つかりませんでした。
これは、reactNativeのjavascriptバンドラーであるmetroの一部のようです。
https://www.belighted.com/blog/react-and-react-native-directories-management