我使用webpack将前端资产捆绑在一个dist目录中。不过,我也希望有一个特快服务器来服务index.html html-webpack-plugin生成的服务,并在dist中进行存款。快速服务器需要几个节点模块,主要是表示模块、体解析模块、矩模块等.
然而,在node_modules中没有dist,所以当无法找到快递时,它就落在了第一个关口。我是否应该只为这个小快件服务器制作一个单独的package.json,并将它保存在dist中,并将它的npm install放在Dockerfile的另一行(似乎有点复杂.)或者,是否有更好的方法使此服务器在进行网络打包后解决其依赖关系?
Dockerfile
FROM node:8.4.0-alpine
WORKDIR /opt/app
COPY ./node_modules node_modules
COPY ./dist .
EXPOSE 6500
ENTRYPOINT ["node", "server.js"]第5行是一次临时尝试,目的是查看是否将所有node_modules移动到应用程序根目录中,从而允许服务器运行。当然,这包括了从快递和身体解析器到react和webpack开发服务器的所有内容。
发布于 2017-08-18 17:06:02
您正在将npm模块从您的本地系统(很可能)复制到一个高山实例,这是一个不同的操作系统,不一定是兼容的。
您需要运行RUN npm install。
我猜您需要一个类似于此的dockerfile:
FROM node:8.4.0-alpine
WORKDIR /opt/app
COPY package.json .
RUN npm install
COPY ./dist .
EXPOSE 6500
//This might also be wrong: ENTRYPOINT ["node", "server.js"]
CMD [ "npm", "start" ]如果我对你的理解是正确的,你可能不得不移动文件的后置词:
RUN mv node_modules dist/node_modules这里有一个很好的教程,可能会对https://nodejs.org/en/docs/guides/nodejs-docker-webapp/有所帮助。
https://stackoverflow.com/questions/45747444
复制相似问题