编辑
2021-12-03
后端技术
00
请注意,本文编写于 885 天前,最后修改于 655 天前,其中某些信息可能已经过时。

目录

Strapi 是什么
开发方案
部署方案
构建前端
Dockerfile
运行
反代

原来一直都听过 strapi 的大名,但是一直没深入研究,最近有时间把我的工具站分离了出来,做成一个通用的项目,后端的话也只是简单的 CURD 而已,不如用 strapi 来做。

Strapi 是什么

strapi 按照官网的说法,是无头内容管理系统,我的理解就是,一个自动生成 CURD API 的 后端 + 管理面板 .

我只要起一个 strapi 项目,在自带的管理面板图形化定义字段,就能自动生成对应的 CURD API ,这样我只要开发前端就行了。

不仅如此,它还自带了后台可以很方便的管理内容,增删改查,甚至还集成了认证系统,自己就是完善的后端。

开发方案

懒人如我,当然能少干活就少干活,步骤如下:

  1. 起一个 strapi 项目,做好配置,设置好字段值。
  2. 起一个前端项目,展示数据,适配 strapiapi
  3. 前端 build 产物 直接放到 strapipublic 文件夹,连反代都省了。
  4. 打包成一个 docker 部署,完事儿。

部署方案

构建前端

在打包之前,先构建前端,并复制到 strapi项目public 文件夹。

为了避免错误,你可能需要关闭 contentSecurityPolicy,修改 config/middlewares.js 如下:

{ name: 'strapi::security', config: { contentSecurityPolicy: false } },

Dockerfile

FROM strapi/base WORKDIR /app COPY ./server/package.json ./ COPY ./server/yarn.lock ./ RUN yarn install COPY ./server/ /app/ ENV NODE_ENV production RUN yarn build EXPOSE 1337 CMD ["yarn", "develop"]

运行

对于开发人员本身用,或者后期需要改字段的话,直接启动入口用 yarn develop ,否则就生产运行 yarn start 即可(还需加上环境变量 NODE_ENV=production

反代

此方法直接反代一个 1337 就行了,省事儿。

如果需要更复杂的,建议参考官方文档:

Nginx Proxying

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:mereith

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!