2016-01-25 18 views
5

Niedźwiedź ze mną, nie jestem pewien, czy jest to wyłącznie kwestia Native React, czy tylko ogólnie pytanie ES6. Ale zauważyłem, że nie mogę tego zrobić:Nie można użyć bezwzględnych ścieżek do importu?

import {navBarRouteMapper} from '/src/helpers'; 

Wystąpił błąd informujący, że nie można rozwiązać modułu. Zamiast tego muszę to zrobić:

import {navBarRouteMapper} from '../../../src/helpers'; 

Śledzenie głębokości folderu może być nieco trudniejsze do opanowania, ponieważ rośnie złożoność aplikacji. Dlaczego nie mogę użyć bezwzględnej ścieżki?

EDIT:

widzę ludzie zalecają dodawanie Babel, ale nie chcę, aby zanieczyścić React rodzimym systemem za. Widoczna jest już transpozycja do ES6. Miałem nadzieję na rozwiązanie specyficzne dla ekosystemu React Native.

+1

Prawdopodobny duplikat [Importowanie modułów węzłów z katalogu root przy użyciu es6 i węzeł babel] (http://stackoverflow.com/questions/31068 698/import-node-modules-from-root-directory-using-es6-and-babel-node). React Native używa Babel, więc wierzę, że twoja odpowiedź leży tutaj. –

+0

Możesz to zrobić za pomocą Browserify. – elclanrs

+0

Zwróć uwagę, że ścieżka jest ciągiem i nie musi być zakodowana na stałe w każdym miejscu, w którym jest używana. możesz także użyć importu czasu pracy. – dandavis

Odpowiedz

5

Jest rzeczywiście całkiem czyste rozwiązanie dla React Native, spójrz tutaj: https://medium.com/@davidjwoody/how-to-use-absolute-paths-in-react-native-6b06ae3f65d1#.u47sl3p8x.

TL; DR:

Będziesz po prostu trzeba utworzyć plik package.json w folderze src/helpers:

{ 
    "name": "@helpers" 
} 

I będzie można zaimportować go z dowolnego miejsca:

import { navBarRouteMapper } from '@helpers' 
+0

Dla obrazów to nie działa i mówi, że jest obsługiwane tylko do celów debugowania – astiefel

+0

nie działa dla mnie –

+0

W przypadku obrazów wystarczy napisać coś w rodzaju: 'obraz importu z '@ assets/images.myImage.png''. Upewnij się tylko, czy poprawnie wyeksportujesz ("domyślnie" lub nie) zmienną (obraz, komponent itp.). –

Powiązane problemy