我正在开发一个Aurelia单页应用程序,它将与使用Django Rest Framework构建的REST api进行通信。
没有容器,我会有两个buildpack,一个用于运行package.json文件中的脚本的Node,另一个用于构建Django应用程序的Python。
如果我推送容器映像,那么什么机制替换调用package.json中的脚本的节点buildpack来触发webpack来创建资产包?
什么机制取代了调用package.json中脚本的节点buildpack
你并没有真正提供有关你当前设置的任何信息以及你已经尝试过的内容,所以我假设你已经知道如何在heroku上运行docker,并且你将当前的设置用于没有docker的heroku。
如果你的package.json中有一个名为build
的脚本可以启动webpack构建,而start
启动了一个node.js表达app来从webpack输出文件夹中为你的应用程序提供服务,你可以在你的Dockerfile:
FROM node:8.9.4
RUN npm install
RUN npm run build
CMD npm run start
当然,这并不考虑您可能需要进行的任何复制和权限设置,但这取决于您的项目设置。
重要的一点是,您实际上是将该事物作为节点应用程序运行,并且您需要在package.json中使用适当的脚本,您可以将该脚本委托给构建和运行,因此您只需要调用其中一个或两个脚本来自你的Dockerfile。你不想直接在那里做太多的npm东西。