можно ли избавиться от относительных путей при импорте? - PullRequest
1 голос
/ 28 мая 2020

в любом проекте с node.js, реагируйте, я настраиваю переменную env:

NODE_PATH=src/

, а затем я могу выполнять импорт, например

import COLORS from 'Constants/Colors'

вместо

import COLORS from '../../../Constants/Colors'

Я только начал с react-native, с expo и пытаюсь найти решение для этого.

Я пробовал тот же подход добавления переменной env, но он не работает

Ответы [ 2 ]

1 голос
/ 28 мая 2020

установить babel-plugin-module-resolver с помощью

yarn add babel-plugin-module-resolver

затем добавьте относительный путь в babel.config.js файл, например,

module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo', 'module:metro-react-native-babel-preset' ],
    plugins: [
            [
                'module-resolver',
                {
                    alias: {
                       '@company'     : './src/company.json',
                       '@components'     : './src/components'

                }
            }
            ]
        ]
  };
};

тогда вы можете использовать такой абсолютный путь

import TextLabel from './src/components/textLabel/index.js'

To

import TextLabel from '@components/textLabel/index.js'
1 голос
/ 28 мая 2020

Вы можете использовать babel-plugin-module-resolver библиотеку, чтобы упростить пути импорта. Это позволяет записывать импорт псевдонимов вместо сложных относительных путей.

...