Повторное использование кода междуact-native и Reaction-native-web довольно хорошо задокументировано.Повторное использование кода между next.js и Reaction-native-web прекрасно работает благодаря «create-next-app - example with-реагировать-native-web имя_проекта».
Я пытаюсь повторно использовать код между реаги-native и next.js, который немного отличается.Next.js скрывает все свои манипуляции с webpack / babel, и я подозреваю, что именно здесь возникают проблемы.
Я создал проект RN с «response-native init rn1» и отдельный проект с «create-next-app»--example with-Reaction-native-web nj1 "
Я тщательно скопировал папки nj1 в проект rn1, включая скрытую папку" .next ", а затем аккуратно слил файлы package.json, чтобы убедиться, что" "Сценарии «не конфликтуют, а зависимости верны.
Команда «act-native run-ios» правильно строит и запускает симулятор.Запуск «response-native run-android» также работает безупречно.
Проблемы возникают, когда я пытаюсь запустить проект Next.js с «npm run dev», и в этом случае я получаю:
Не удалось скомпилировать.
./node_modules/next/dist/client/next-dev.js 34:6
Module parse failed: Unexpected token (34:6)
You may need an appropriate loader to handle this file type.
|
|
> import('./noop');
| var _window = window,
| assetPrefix = _window.__NEXT_DATA__.assetPrefix;
Кто-нибудь сталкивался с этой проблемой раньше?
Пакет package.json, полученный в результате объединения обеих папок проекта, выглядит следующим образом:
{
"name": "testweb7",
"version": "0.0.1",
"private": true,
"scripts": {
"rn-start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"dev": "next",
"build": "next build",
"start": "next start"
},
"dependencies": {
"babel-plugin-module-resolver": "^3.1.2",
"next": "^8.0.3",
"react": "16.6.3",
"react-native": "0.58.6",
"react-art": "^16.5.2",
"react-dom": "^16.6.3",
"react-native-web": "^0.9.3"
},
"devDependencies": {
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "24.3.1",
"jest": "24.3.1",
"metro-react-native-babel-preset": "0.53.0",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
}
СпасибоВы за чтение!