文章允许转载,请注明来源:https://blog.csdn.net/feiniao8651/article/details/95382454
背景
Parse是一个serverless的后台框架,另一个有名的是firebase,可惜因为是google的服务,国内不能正常使用。Facebook在收购Parse并运营几年后,将其关闭并开源。
虽然是serverless的后台,平台同样支持我们添加自己的逻辑,即cloud code。这里记录一下如何将cloud code拆分到不同的代码文件。
实现
根据ParseServer的初始化代码
var api = new ParseServer({
databaseURI: 'mongodb://your.mongo.uri',
cloud: './cloud/main.js',
appId: 'myAppId',
fileKey: 'myFileKey',
masterKey: 'mySecretMasterKey',
push: { ... }, // See the Push wiki page
filesAdapter: ...,
});
这里cloud指定的只能是cloud目录下的一个文件,不能指定一个目录。所以我们拆分的方式就是将不同的逻辑拆分到其他文件里,然后在main.js里引用其他的文件。
这里主要使用的是js的require方法。其他代码逻辑中如果使用的是Parse.Cloud的方法,并不需要export。
例如cloud下有main.js和test.js两个文件。
test.js:
Parse.Cloud.define("hello", function(request, response) {
response.success('hi');
});
main.js里只需要引用一下test.js,就能正常请求到这个cloud function了:
require('./test.js');
**注意:**网上有很多教程里写的引用方式都是错误的方式
require('cloud/test.js'); //这是错误的引用方法,会报错找不到module
参考:
Parse Server Guide
Cloud code: can I use other files besides main.js? 这里用的就是错误的引用方式
Parse Cloud Code Structure 也可以用这种export的思路