parse dashboard error: You don't have any apps

parse dashboard error: You don't have any apps

我已经创建了自己的解析服务器和解析仪表板实例。解析服务器工作正常,因为我可以通过 curl.

远程读取和写入条目

当我在浏览器 http://192.168.2.28:4040/apps 中打开仪表板时,它会询问我已配置的用户名和密码。成功登录后,我看到错误消息:You don't have any apps。但是,解析仪表板应该会看到一个名为 testerdb 的应用程序 运行。我相信我配置有误,但不确定这可能是什么。

要启动我的解析服务器,我是 运行 这个 bash 脚本:

APPID="appid123456"
MASTERKEY="masterkey654321"
DBURI="mongodb://127.0.0.1:27017/testerdb?ssl=false"
APPNAME="testerdb"

parse-server --verbose --appId ${APPID} --masterKey ${MASTERKEY} --appName ${APPNAME} --databaseURI ${DBURI}

同样,我能够通过 curl 成功 read/write 解析应用程序。

启动仪表盘我是运行:

DASH=/lib/node_modules/parse-dashboard/Parse-Dashboard/parse-dashboard-config.json
parse-dashboard --config ${DASH} --allowInsecureHTTP=1

allowInsecureHTTP 不会用于生产。我只是用它来帮助解决问题。

这是我的解析仪表板-config.json:

{
  "apps": [{
    "serverURL": "http://localhost:1337/parse",
    "appId": "appid123456",
    "masterKey": "masterkey654321",
    "appName": "testerdb"
  }],
  "users": [{
    "user":"jftuga",
    "pass":"xyz789",
    "apps": [{"appId1": "appid123456"}]
  }]
}

两个 bash 脚本都是 运行 作为 parse 用户。在浏览器中,没有 javascript 控制台消息。在我的 parse-server.info 日志文件(用于解析服务器)中,似乎没有任何解析仪表板进程正在访问该应用程序。我还从同一 LAN 上的另一台计算机访问仪表板。

上述配置存在 2 个问题。

第 1 期

我的 parse-dashboard-config.json 位于 /lib/node_modules/parse-dashboard/Parse-Dashboard 但实际上需要在 /lib/node_modules/parse-dashboard/Parse-Dashboard/public。注意最后的 /public

第 2 期

行:

"serverURL": "http://localhost:1337/parse",

需要:

"serverURL": "http://192.168.1.28:1337/parse",

因为这个 URL 将被浏览器的 Javascript 代码访问。因此,需要是一个外部可访问的IP地址。

您的解析仪表板无法从您为其设置的配置文件中获取正确的数据。如果可能的话,我建议这样做

import 'dotenv/config';
const express = require('express');
const ParseDashboard = require('parse-dashboard');

const dashboard = new ParseDashboard({
    "apps": [
        {
            "serverURL": process.env.SERVER_URL,
            "appId": process.env.APP_ID,
            "masterKey": process.env.MASTER_KEY,
            "appName": process.env.APPNAME,
        }
    ]
});

const app = express();

// make the Parse Dashboard available at /dashboard
app.use('/dashboard', dashboard);

const httpServer = require('http').createServer(app);
httpServer.listen(4040);

然后开始像这样的脚本

yarn parse-dashboard

npm run parse-dashboard