typescript - react-native-web ile Localhost:8080 boş sayfa gösteriyor


Bir React Native uygulamasına web desteği eklemek için bir eğitim takip ettim. react-native-web ve webpack kullanarak. Herkes için işe yarıyor gibi görünüyor. Ama benim için boş bir web sayfası alıyorum. Emülatörde ise sorunsuz çalışıyor. Konsolda hiçbir hata almıyorum.

takip ettiğim öğretici şunlardır:

Eğitimde gösterildiği gibi, basit React Native kodumun sonucunu hem emülatörde hem de web sayfasında görmeyi umuyordum.

Not: Projem TypeScript tabanlı

bu benim App.web.ts dosyam

   import {AppRegistry} from 'react-native'
import {name as appName} from './app.json'
import App from './App'

AppRegistry.registerComponent(appName, () => App)

AppRegistry.runApplication(appName, {
  initialProps: {},
  rootTag: document.getElementById('app-root'),
})

benim package.json dosyam:

{
  "name": "reactnativewebapp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint .",
    "web":"cd web && webpack-dev-server"
  },
  "dependencies": {
    "react": "17.0.2",
    "react-dom": "^18.0.0",
    "react-native": "0.68.0",
    "react-native-web": "^0.17.7"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@types/react": "^17.0.43",
    "@types/react-native": "^0.67.3",
    "babel-jest": "^26.6.3",
    "eslint": "^7.32.0",
    "html-webpack-plugin": "^5.5.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "^0.67.0",
    "react-native-typescript-transformer": "^1.2.13",
    "react-test-renderer": "17.0.2",
    "ts-loader": "^9.2.8",
    "typescript": "^4.6.3",
    "webpack": "^5.70.0",
    "webpack-cli": "^4.9.2",
    "webpack-dev-server": "^4.7.4"
  },
  "jest": {
    "preset": "react-native"
  }
}

ve App.js'in render edilmesi gereken index.js'im:

/**
 * @format
 */

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);