因此,如果您下载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。如果您使用未导入的功能,那看起来就错了。