小编Aji*_*mar的帖子

使用 Heroku 进行 Fastify

我有一个由 Heroku 托管的简单 Fastify 服务器。但是,似乎不起作用!不过,在开发的过程中,看起来还不错!我得到的错误是:Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch。我收到的完整错误:

在此输入图像描述

这是我正在使用的代码
server.js::

const fastify = require("fastify")();
const path = require("path");

fastify.register(require("fastify-static"), {
  root: path.join(__dirname, "/"),
});

fastify.get("/", function (req, reply) {
  reply.sendFile("index.html");
});

fastify.listen(process.env.PORT || 5000, (err) => {
  if (err) throw err;
  console.log(`server listening on ${fastify.server.address().port}`);
});
Run Code Online (Sandbox Code Playgroud)

package.json:

{
"name": "test1",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "engines": {
    "node": "15.11.x"
  },
  "scripts": { …
Run Code Online (Sandbox Code Playgroud)

heroku fastify

5
推荐指数
1
解决办法
2083
查看次数

使用 React Router Dom 仅在家里显示侧边栏导航

我制作了一个侧边栏,其中包含“主页”和“搜索”页面的导航。但是,我想要的是,我只需要在“主页”页面上显示侧边栏,而不“搜索”页面上显示侧边栏。这是我现在拥有的
App.js::

import React from "react";
import "./App.css";

import SideBar from "./components/SideBar";
import Home from "./screens/Home";
import Search from "./screens/Search";

import { BrowserRouter as Router, Switch, Route } from "react-router-dom";

function App() {    
  return (
    <div className="app">
      <Router>
    <Switch>
      <SideBar />
      <Route exact path="/home">
        <Home />
      </Route>
    </Switch>

    <Switch>
      <Route exact path="/search">
        <Search />
      </Route>
    </Switch>
  </Router>
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

但是,它在两个页面上都显示侧边栏。

编辑:

我不希望当路线改变时侧边栏重新渲染。侧边栏中有指向“主页”和“搜索”页面的链接。我只想渲染和重新渲染这些页面。

reactjs react-router-dom

5
推荐指数
1
解决办法
1570
查看次数

未捕获的错误:此 WebContents 禁用 @ Electron/remote

我正在使用 React 和 Electron js 开发一个桌面应用程序。这是这样的场景:当单击按钮时,我想关闭窗口。因此我正在使用该@electron/remote包。我已经在 中初始化了该包,public/main.js当我尝试将其导入到 React 组件中时,它在控制台中给出了以下错误:Uncaught Error: @electron/remote is disabled for this WebContents. Call require("@electron/remote/main").enable(webContents) to enable it.

public/main.js

const { app, BrowserWindow } = require("electron");
const path = require("path");
const isDev = require("electron-is-dev");

require("@electron/remote/main").initialize();

const createWindow = () => {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    frame: false,
    webPreferences: {
      nodeIntegration: true,
      enableRemoteModule: true,
      contextIsolation: false,
    },
  });

  win.loadURL(
    isDev
      ? "http://localhost:3000"
      : `file://${path.join(__dirname, "../build/index.html")}`
  );
}; …
Run Code Online (Sandbox Code Playgroud)

reactjs electron

5
推荐指数
1
解决办法
5888
查看次数

Obx ListView 在值更改后不更新

我正在接一个RxList电话todoData。在此列表的基础上,aListView.builder构建一个列表,每个列表中都有一个按钮。单击此按钮时,done相应项目的字段将更新为truefalse。但是,尽管值已更新,但用户界面并没有改变。
清单如下:

class StateController extends GetxController {
  RxList<Todo> todoData = <Todo>[
Todo(
    name: 'todo1',
    done: true),
Todo(
    name: 'todo2',
    done: false),
Todo(
    name: 'todo3',
    done: true),
Todo(
    name: 'todo4',
    done: false),
Todo(
    name: 'todo5',
    done: false)
 ].obs;
}
Run Code Online (Sandbox Code Playgroud)

控制器:

  final StateController _controller = Get.find();
Run Code Online (Sandbox Code Playgroud)

更新功能:

void updateItem(Todo e) {
  /* final int index = _controller.todoData.indexOf(e);
  _controller.todoData[index].done = !e.done; */
  _controller.todoData.firstWhere((Todo i) => i == e).done = !e.done;
  _controller.refresh(); …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-getx

4
推荐指数
1
解决办法
1730
查看次数

使用 Service-Worker React 的离线页面

我对服务人员完全陌生!我有一个在本地主机中运行的反应站点,即将部署。我正在遵循此处指定的代码。

const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
    // [::1] is the IPv6 localhost address.
    window.location.hostname === '[::1]' ||
    // 127.0.0.1/8 is considered localhost for IPv4.
    window.location.hostname.match(
      /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
    )
)

export default function register () {
  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
    // The URL constructor is available in all browsers that support SW.
    const publicUrl = new URL(process.env.PUBLIC_URL, window.location)
    if (publicUrl.origin !== window.location.origin) {
      // Our service worker won't work if PUBLIC_URL is …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs service-worker progressive-web-apps

2
推荐指数
1
解决办法
4182
查看次数

Github Actions:多个作业单一发布

我在 Github runner 上有 2 份工作。第一项工作是构建 android apk。第二个用于构建 zip 文件。我想在同一个版本中同时拥有 apk 和 zip 文件。但是,在 apk 发布到版本中后,zip 文件不会发布到版本中。显示的错误是
Validation Failed {"resource":"Release","code":"already_exists","field":"tag_name"}
buid.yml::

name: Build Process

on:
 push:
  tags:
   - v*

jobs:
 Build_Android:
if: "!contains(github.event.head_commit.message, 'skip-android')"
name: Build APK
runs-on: ubuntu-latest

steps:
  - uses: actions/checkout@v2
  - name: Setup Java
    uses: actions/setup-java@v2
    with:
      distribution: "zulu"
      java-version: "12.x"

  - name: Setup Flutter
    uses: subosito/flutter-action@v1
    with:
      channel: "stable"

  - name: Get Packages
    run: flutter pub get

  - name: Build APK
    run: flutter build apk …
Run Code Online (Sandbox Code Playgroud)

github-release github-actions

1
推荐指数
1
解决办法
2459
查看次数

“YT”未定义 - Youtube 播放器 API

我在我的 React 网站上使用Youtube Player API 。当我在网站上尝试时,出现以下错误:TypeError: Cannot read property 'ready' of undefined。这是我正在使用的代码:

var player;
function loadVideo() {
    window.YT.ready(function () {
      new window.YT.Player("player", {
        height: "390",
        width: "640",
        videoId: "M7lc1UVf-VE",
        events: {
          onReady: onPlayerReady,
          onStateChange: onPlayerStateChange,
        },
      });
    });

    function onPlayerReady(event) {
      event.target.playVideo();
      player = event.target;
    }

    function onPlayerStateChange(event) {
      var videoStatuses = Object.entries(window.YT.PlayerState);
      console.log(videoStatuses.find((status) => status[1] === event.data)[0]);
    }
  }

  useEffect(() => {
    setMaxDuration("06:00");
    var tag = document.createElement("script");
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName("script")[0];
    firstScriptTag.parentNode.insertBefore(tag, …
Run Code Online (Sandbox Code Playgroud)

javascript iframe reactjs youtube-iframe-api

0
推荐指数
1
解决办法
3690
查看次数