我设法能够直接使用docker-compose和Makefile进行开发人员观看。
FROM node:alpine as init
ADD package.json .
ADD package-lock.json .
FROM init as install
RUN npm install
FROM install AS build
ADD _javascript _javascript
ADD _sass _sass
ADD package.json .
ADD .babelrc .
RUN npm run deploy
FROM scratch as release
COPY --from=build /css /public
COPY --from=build /js /public
ADD index.html /public
FROM node:alpine as dev
RUN npm install --global http-server
EXPOSE 80
CMD http-server /public -p 80 -c-1
COPY --from=release /public /public
Docker撰写文件:
version: '3.7'
services:
release:
build:
context: .
target: release
image: ${IMAGE_NAME?}:${IMAGE_TAG?}
dev:
build:
context: .
target: dev
image: ${IMAGE_NAME?}/dev:${IMAGE_TAG?}
然后使用watchexec生成Makefile:
all: dev
watchexec make dev
dev:
docker-compose build dev
docker-compose up --remove-orphans --detach dev
docker-compose ps
clean:
docker-compose down --remove-orphans
这非常好用,可以让我在编辑JS文件,CSS甚至Dockerfile的任何时候得到一个刷新良好的运行项目。
借助docker缓存构建,只需完成所需的部分。
但是我缺少一件事:带有实时重载和CSS注入的静态服务器(如果可能)。
如何像我一样使用docker观看来实现这一目标?
答案 0 :(得分:0)
我终于使用livejs解决了我的问题:http://livejs.com/
它会定期检查是否对css,js或html内容进行了更改,并在必要时更新CSS或重新加载页面。
没有复杂的东西,只需包含脚本和voilà!