导入解析/节点会引发错误,但无需导入即可工作

时间:2019-11-11 06:39:34

标签: javascript node.js typescript parse-platform parse-javascript-sdk

因此,如果您下载https://github.com/parse-community/parse-server-example处的Parse平台示例nodejs示例, 您会注意到,根本不会导入/不需要解析。我知道他们没有在项目中显式调用Parse,但这毕竟是您执行查询甚至初始化项目的方式。

所以我的问题是,我有一个打字稿设置,但是如果我像这样导入Parse import * as Parse from 'parse/node';

每当我执行查询时,都会引发此错误。

  

ParseError:XMLHttpRequest失败:{“ UNSENT”:0,“ OPENED”:1,“ HEADERS_RECEIVED”:2,“ LOADING”:3,“ DONE”:4,“ readyState”:4,“ responseText”:“ “,” responseXML“:”“,”状态“:410,” statusText“:null,” withCredentials“:false}

我正在package.json中使用这些版本:

"parse": "^2.7.1",
"parse-server": "^2.3.3",

我尝试使用var Parse = require('parse / node')导入老式的Parse, 从'parse'导入浏览器版本import * as Parse;这只是告诉我尚未设置localstorage,显然是因为其节点不是Browser。

我尝试通过执行简单的查询来运行示例项目(是否包含导入)并获得一致的结果,因此这似乎不是打字稿问题。

我也尝试了多个版本的Parse,甚至在示例项目中使用的1.8版本也获得了相同的结果。

import express from "express";
import * as PS from 'parse-server';
import path from "path";
import {config} from 'dotenv';
import bodyParser from "body-parser";
import cors from 'cors';

import * as Parse from 'parse/node';

config({path:'./env/dev_remote.env'});
const app = express();
const port = process.env.PORT || 1337;
const ParseServer = PS.ParseServer;

app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.use(cors());

var api = new ParseServer({
  databaseURI: process.env.dbUrl + '/' + process.env.dbName,
  appId:'totalProjectServer',
  masterKey:'masterparse',
  serverURL:'http://localhost:1337/parse'
});

app.use('/parse', api);
Parse.initialize('totalProjectServer');

app.get('/', (req, res) => {
  let query = new Parse.Query('NodeExpense');
  query.find().then((data)=>{
    res.status(200).send(data);
  })
  .catch((err)=>{
    res.status(500).send(err);
  })
})

app.listen(port,()=>{
    console.log(`Server running on ${port}`);
})

我只是想让我的IntelliSense能够正常工作,并让打字稿停止抱怨,因为我没有导入Parse。如果您使用未导入的功能,那看起来就错了。

0 个答案:

没有答案