在 Android 的 Web 视图上运行 create-react-app 的构建

Red*_*dhi 5 android android-webview reactjs create-react-app

我想在 Android 的网络视图中运行 create-react-app 的构建。当我使用 JavaScript 和 CSS 运行一个简单的 Web 应用程序时,它运行良好。但在尝试运行 create-react-app 时,我最终得到的是一个空屏幕。

以下是我遵循的步骤:

  1. 我对 create-react 应用程序使用了以下命令:

    npm install -g create-react-app

    创建反应应用程序我的应用程序

  2. 我使用以下命令创建了构建文件:

    npm 运行构建

  3. 我将构建文件夹复制并粘贴到我的 Android 项目结构中的 asset 目录下。 我的 Android 项目结构中的构建文件

  4. 我的主要活动代码:

    公共类 MainActivity 扩展 AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        WebView view = (WebView) findViewById(R.id.web_view);
        WebSettings webSettings = view.getSettings();
        webSettings.setJavaScriptEnabled(true);
        view.loadUrl("file:///android_asset/build/index.html");
    }
    
    Run Code Online (Sandbox Code Playgroud)

    }

我在运行 Android 应用程序时遇到空白屏幕。我究竟做错了什么?

Saa*_*ran 4

解决这两个问题

  1. 让CRA建立相对路径,

打开package.jsonCRA项目并添加到同一级别的标签"homepage": "."旁边。"version"

  1. 用于。HashRouterreact-router

react-router也就是说,如果您正在使用一个并且您应该使用它。我们通常使用BrowserRouter. HashRouter非常无用,建议不要使用。但这种场景才是最好用的地方HashRouter

附:如果您想要更多解释或示例,请在评论中发表,我也会编辑并添加它们