Node.js
ES6 Javascript
Parse-server
创建项目:npm init -y项目的最终结构参见图片。
安装dependencies:npm i express parse parse-dashboard parse-server -S
安装develpment dependencies:(主要是支持ES 6)npm i nodemon babel-cli babel-eslint babel-polyfill babel-preset-es2015 babel-preset-stage-2 -Dbabel 用来编译ES 6 为普通Javascript。
在根目录下,创建index.js。在package.json的'scripts'下中增加:'start': 'VERBOSE=1 nodemon ./index.js --exec babel-node',
创建.babelrc文件:{ 'presets': ['es2015', 'stage-2'], 'plugins': []}
基本需求:import path from 'path'import express from 'express'import Parse from 'parse/node'import {ParseServer} from 'parse-server'import ParseDashboard from 'parse-dashboard'ES 6下使用import 来替换require。ParseServer 是parse-server的核心,ParseDashboard提供UI帮助用户管理Parse Server。
基本配置:const SERVER_PORT = process.env.PORT || 8080const SERVER_HOST = process.env.HOST || 'localhost'const APP_ID = process.env.APP_ID || 'myserver-app-2016'const MASTER_KEY = process.env.MASTER_KEY || '80b7083aca4a8e33768a1c7ad3dd3e5a74ef5dae'const DATABASE_URI = process.env.DATABASE_URI || 'mongodb://localhost:27017/dev'const IS_DEVELOPMENT = process.env.NODE_ENV !== 'production'const DASHBOARD_AUTH = process.env.DASHBOARD_AUTHParse Server的基本配置,包括服务器的端口,url,app_id,master key以及MongoDB等。
初始化:Parse.initialize(APP_ID);Parse.masterKey = MASTER_KEYParse.Cloud.useMasterKey()根据基本配置对Parse进行初始化。
启动parse server:const server = express()server.use( '/parse', new ParseServer({ databaseURI: DATABASE_URI, appId: APP_ID, masterKey: MASTER_KEY, fileKey: 'f33fc1a9-9ba9-4589-95ca-9976c0d52cd5', serverURL: `http://${SERVER_HOST}:${SERVER_PORT}/parse` }))
允许Dashboard:let users = [ { 'user':'admin', 'pass':'password' }]if (DASHBOARD_AUTH) { var [user, pass] = DASHBOARD_AUTH.split(':') users = [{user, pass}] console.log(users)}server.use( '/dashboard', new ParseDashboard({ apps: [{ serverURL: '/parse', appId: APP_ID, masterKey: MASTER_KEY, appName: 'My Parse Server', }], users, }, IS_DEVELOPMENT),)注意:此段代码允许用户使用Dashboard对服务器进行管理,这里使用了一个数组保存Dashboard的用户和密码。为保证安全,应该在最终产品中使用更安全的方法。
启动:server.listen(SERVER_PORT, () => console.log( `Server is now running in ${process.env.NODE_ENV || 'development'} mode on http://localhost:${SERVER_PORT}`))
运行:npm start可以看到服务器正常运行。
在浏览器中输入http://localhost:8080/dashboard 可以进入Parse Server的Dashboard。
设置基本完成。不过要想Parse正常工作,还需要设置Mongodb,还要加入Cloud code,设置Push Notification等等,这又是另外的话题了。