Skip to content

Commit

Permalink
feat: serve editor(front-end) with strapi(koa-static)
Browse files Browse the repository at this point in the history
  • Loading branch information
ly525 committed Jan 11, 2020
1 parent ba852c4 commit 1f9f1ab
Show file tree
Hide file tree
Showing 10 changed files with 145 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ pids
logs
results
build
build-editor
node_modules
.node_history
package-lock.json
Expand Down
5 changes: 4 additions & 1 deletion back-end/h5-api/config/custom.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"myCustomConfiguration": "This configuration is accessible through strapi.config.myCustomConfiguration"
"myCustomConfiguration": "This configuration is accessible through strapi.config.myCustomConfiguration",
"custom": {
"enabled": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editorStatic": {
"enabled": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editorStatic": {
"enabled": true
}
}
5 changes: 5 additions & 0 deletions back-end/h5-api/config/environments/staging/middleware.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editorStatic": {
"enabled": true
}
}
3 changes: 2 additions & 1 deletion back-end/h5-api/config/middleware.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"gzip"
],
"order": [
"Define the middlewares' load order by putting their name in this array is the right order"
"Define the middlewares' load order by putting their name in this array is the right order",
"editorStatic"
],
"after": [
"parser",
Expand Down
31 changes: 31 additions & 0 deletions back-end/h5-api/middlewares/editorStatic/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* @Author: ly525
* @Date: 2020-01-02 21:50:50
* @LastEditors : ly525
* @LastEditTime : 2020-01-11 00:22:10
* @FilePath: /h5-api/api/work/controllers/Work.js
* @Github: https://github.com/ly525/luban-h5
* @Description:
* serve luban-h5 front-end dist
*
* You will find information here:
* 1. https://github.com/strapi/strapi/issues/3007
* 2. https://stackoverflow.com/questions/55090339/strapi-custom-routes-to-redirect-to-public-directory/55130475#55130475
* 3. https://medium.com/@schalkneethling/automate-package-releases-with-semantic-release-and-commitizen-d7d4c337f04f
* 4. https://strapi.io/documentation/3.0.0-beta.x/concepts/middlewares.html#middlewares
*/

const koaStatic = require('koa-static');
const path = require('path');

module.exports = strapi => {
return {
// eslint-disable-next-line no-unused-vars
initialize: function(cb) {
strapi.router.get(
'/*',
koaStatic(path.resolve('./build-editor'))
);
}
};
};
8 changes: 5 additions & 3 deletions front-end/h5/vue.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*
* @Author: ly525
* @Date: 2019-12-14 22:43:55
* @LastEditors: ly525
* @LastEditTime: 2020-01-05 22:09:02
* @LastEditors : ly525
* @LastEditTime : 2020-01-10 23:37:15
* @FilePath: /luban-h5/front-end/h5/vue.config.js
* @Github: https://github.com/ly525/luban-h5
* @Description: Do not edit
Expand All @@ -12,6 +12,7 @@ const path = require('path')
// const isProd = process.env.NODE_ENV === 'production'
const target = 'http://localhost:1337'
const engineOutputDir = path.join(__dirname, '../../back-end/h5-api/public/engine-assets')
const editorBuildOutputDir = path.join(__dirname, '../../back-end/h5-api/build-editor')

let page
switch (process.env.PAGE) {
Expand All @@ -28,7 +29,8 @@ switch (process.env.PAGE) {
template: 'public/index.html',
filename: 'index.html',
title: 'Index Page',
outputDir: 'dist'
// outputDir: 'dist'
outputDir: editorBuildOutputDir
// publicPath: isProd ? '/main/' : '/'
}
}
Expand Down
82 changes: 82 additions & 0 deletions luban-h5.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/bin/sh

###
# @Author: ly525
# @Date: 2020-01-10 22:23:34
# @LastEditors : ly525
# @LastEditTime : 2020-01-10 23:27:59
# @FilePath: /luban-h5/luban-h5.sh
# @Github: https://github.com/ly525/luban-h5
# @Description: Do not edit
# @Copyright 2018 - 2019 luban-h5. All Rights Reserved
###


cur_dir=`pwd`

help_usage() {
cat << EOT
Usage:
$(basename $0) [--help|-h] [init|start|restart|stop]
help Show usage.
init #!en Install dependencies, build front-end && back-end.
#!zh 初始化: 安装依赖并编译前后端
start #!en Start the luban-h5 service(powered by pm2).
#!zh 启动luban-h5, 执行这一步骤之前, 需要执行 ./$(basename $0) init
restart #!en Restart the luban-h5 service.
#!zh 重启luban-h5
stop #!em Build binary packages only.
#!zh 停止luban-h5
e.g.
./luban-h5.sh init
./luban-h5.sh start
./luban-h5.sh stop
EOT
exit
}


luban_h5_init() {
# 到前端目录安装依赖,并编译核心编辑器 + 预览引擎
# #!en compile the core editor and preview engine
cd front-end/h5 && yarn && yarn build
cd ${cur_dir}

# 在后端目录,编译后台管理系统
cd back-end/h5-api && yarn && yarn build
cd ${cur_dir}
}

luban_h5_start() {
cd back-end/h5-api && npx pm2 start --name luban-h5-service server.js
cd ${cur_dir}
}

luban_h5_restart() {
cd back-end/h5-api && npx pm2 restart luban-h5-service
cd ${cur_dir}
}

luban_h5_stop() {
cd back-end/h5-api && npx pm2 stop luban-h5-service
cd ${cur_dir}
}



# Initialization step
action=$1
case "$action" in
init|start|restart|stop)
luban_h5_${action}
;;
*)
help_usage
;;
esac

0 comments on commit 1f9f1ab

Please sign in to comment.