用leancloud部署网站的一些好处
- 学习曲线低, 作为前端来说, 相对于自己购买腾讯云或者阿里云买服务器, 弄域名, 安装nginx等一系列的东西, 简直弄得头昏脑胀, 用leancloud部署, 只需要按照文档配置, 进行几项简单的命令就可以了.
- 免费, 迁移成本低. 不需要为了部署而进行大段的代码, 导致后期如果想进行迁移也因为成本巨大而不能.
部署的准备工作
系统环境 win8.1 中文版, 准备部署的网站代码, leancloud账号
部署步骤
本次部署以nodejs语言为主, 如果想了解其他语言, 请前往leancloud官方完档
第一步
创建好账号后, 登录, 进入控制台, 点击创建应用, 设置对应地址
第二步
安装leancloud
npm install lenaengine leancloud-storage
复制代码
第三步
修改package.json, 添加下图代码, 表示部署环境使用的node版本.
"engines": {
"node": "8.x"
},
"scripts": {
"start": "node server.js",
}
复制代码
第四步
修改本地代码
//server.js
'use strict'
const AV = require('leanengine')
const PORT = parseInt(process.env.LEANCLOUD_APP_PORT||3000)
const config = require('./config')
const express = require('express')
const app = require('./app')
AV.init({
appId: process.env.LEANCLOUD_APP_ID||config.appId,
appKey: process.env.LEANCLOUD_APP_KEY||config.appKey,
masterKey : process.env.LEANCLOUD_APP_MASTER_KEY|| config.masterKey
})
app.enable('trust proxy')
app.use(AV.express())
app.use(AV.Cloud.HttpsRedirect())
app.listen(PORT, ()=> {
console.log('web app is running on: '+PORT)
})
复制代码
//app.js
'use strict'
const express = require('express')
, cors = require('cors')
, path = require('path')
, app = express()
app.use(express.static('./build'))
// app.use(express.static)
app.use(cors())
app.get('/1.1/functions/_ops/metadatas', (req,res) => {
res.send(404)
})
// 上方这段代码告诉leancloud, 不使用云函数, 详情请看文档
app.get('*', (req,res,next) => {
res.sendFile(path.join(__dirname, './build', 'index.html'))
})
module.exports = app
复制代码
云引擎的云函数和 Hook 功能文档地址
第四步的补充说明 在app.js 中, 之前因为思路的原因, 为了能够部署成功禁用了leanCloud的云函数, 这样的话就不能使用云函数功能了, 不是很好, 为此, 查询了[]express文档](http://www.expressjs.com.cn/guide/routing.html), 发觉app.get(,cb)这个函数的第一个参数不仅可以是字符串, 还能是字符串模式或者正则表达式, 因此对于上方就可以有一个改进, 这样就能使用云函数模式了
//app.js
'use strict'
const express = require('express')
, cors = require('cors')
, path = require('path')
, app = express()
app.use(express.static('./build'))
// app.use(express.static)
app.use(cors())
app.get(/[^/1.1/functions/_ops/metadatas]/, (req,res,next) => {
res.sendFile(path.join(__dirname, './build', 'index.html'))
})
module.exports = app
复制代码
第五步
安装leancloud 命令行, 当你在命令行中使用
lean -v
复制代码
可以成功查看版本, 就表示安装成功了
第六步
现在开始部署, 进入你需要部署的文件夹目录
lean login //然后输入你得leancloud账号密码
lean switch //选择对应的项目
lean up //本地试运行, 检查有无错误
lean depoly //线上部署
复制代码
如果一切顺利, 你就可以成功的在之前设置的域名查看到你得项目了