原来一直都听过 strapi
的大名,但是一直没深入研究,最近有时间把我的工具站分离了出来,做成一个通用的项目,后端的话也只是简单的 CURD
而已,不如用 strapi
来做。
strapi
按照官网的说法,是无头内容管理系统,我的理解就是,一个自动生成 CURD API
的 后端 + 管理面板 .
我只要起一个 strapi
项目,在自带的管理面板图形化定义字段,就能自动生成对应的 CURD API
,这样我只要开发前端就行了。
不仅如此,它还自带了后台可以很方便的管理内容,增删改查,甚至还集成了认证系统,自己就是完善的后端。
懒人如我,当然能少干活就少干活,步骤如下:
strapi
项目,做好配置,设置好字段值。strapi
的 api
。build 产物
直接放到 strapi
的 public
文件夹,连反代都省了。docker
部署,完事儿。在打包之前,先构建前端,并复制到 strapi项目
的 public
文件夹。
为了避免错误,你可能需要关闭 contentSecurityPolicy
,修改 config/middlewares.js
如下:
{ name: 'strapi::security', config: { contentSecurityPolicy: false } },
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
就行了,省事儿。
如果需要更复杂的,建议参考官方文档:
本文作者:mereith
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!