Я создал простой компонент, который отображает SVG-изображения внутри WebView
. Это хорошо работает, когда я получаю SVG с удаленного сервера. Тем не менее, я хотел бы включить SVG в свой комплект и потребовать его от моего компонента. Использование require('image.svg')
результатов в Невозможно решить модуль сообщение об ошибке.Требовать SVG в реакции-native
ответ
У меня была аналогичная проблема, и я заметил, что путь, отображаемый в ошибке, был не совсем прав. Я должен был сделать require('./image.svg')
, или если вы поместите его в отдельную папку, скажем, активы, это будет require('./assets/image.svg')
. Этот относительный путь должен определяться из любого файла, в котором вы находитесь, конечно. Так что если вы находитесь в index.ios.js
и захотите потребовать файл изображения со следующей структурой папок: . ├── index.ios.js └── assets ├── image.svg └── image2.png
require('./assets/image.svg')
. Надеюсь это поможет!
Точное сообщение об ошибке, которое я получаю: 'Невозможно разрешить модуль ../images/image.svg из [...]: Недействительный каталог [...]'. Однако путь, указанный в сообщении об ошибке, является правильным. Кроме того, он работает для png-изображений. – danielbuechele
Возможно, это проблема с тем, как SVG передается, когда вы требуете его, а не извлекаете его с сервера. Проверьте этот [PR] (https://github.com/facebook/react-native/pull/542), найденный в первом ответе [this stackoverflow] (http://stackoverflow.com/questions/29289178/react- native-and-svgcode-sample) о способах размещения вашего SVG в WebView. – jkwok
Попробуйте это решение, он может создать реакцию компонентов из ваших SVG файлов https://github.com/necinc/msvgc
Это работает для меня
MSVGC
Utils для генерации реакции компонентов из простых SVG файлов (совместим с реакционно-родными)
Установка:
# install package globally
npm install -g msvgc
Usage:
# provide for utils
msvgc -f ./path/to/pic.svg -o ./svgComponents/
--react-native flag create components using react-native-svg library
--typescript flag will using react importing like in typescript (import * as React)
Затем использовать сгенерированные компоненты в ваших JSX/TSX файлов:
[...]
import Pic from './svgComponents/Pic'
class MyComponent extends Component {
render() {
return (
<div>
<Pic width={300} height={100} />
<p>Lorem ipsum...</p>
</div>
);
}
}
[...]
- 1. Требовать/импортировать svg во время тестов мокки
- 2. Требовать или не требовать?
- 3. Требовать в Ruby/Rails
- 4. Требовать JSX в реагенте
- 5. Требовать ошибки в пути
- 6. Требовать SSL в WebApi?
- 7. Требовать Regex в C#
- 8. Auto Требовать в PHP
- 9. Требовать атрибут в html5
- 10. Требовать синтаксис в узле
- 11. Требовать/Включить в PHP
- 12. Требовать метод в javascript
- 13. Требовать в скрипте Init.d
- 14. Требовать в javascript
- 15. Javascript Требовать
- 16. Требовать модуль в узле JS
- 17. Требовать письмо в [A-Z]
- 18. Требовать драгоценный камень в рельсах
- 19. Требовать локальный файл в PHPUnit
- 20. Требовать пакеты в моем скрипте
- 21. Требовать путь в nodejs frappe
- 22. Требовать использование оператора в рубине
- 23. Требовать группу активов в теме
- 24. Требовать в жемчужине не работает
- 25. Требовать вложенные пары в контроллере
- 26. Как требовать блок в Ruby?
- 27. Требовать конфигурационный файл в классе
- 28. Требовать ClojureScript в анализатор API
- 29. Как требовать файл в рубине?
- 30. Требовать сервер сокетов в контроллер
Сохранить файл SVG, как .txt entension, или, может быть, .xml – kar
@kar Это дает мне такая же ошибка. То, что я могу сделать, это встроить SVG как строку в файл js: 'export default '