【问题标题】:How to get a production build with docker + react-create-app?如何使用 docker + react-create-app 进行生产构建?
【发布时间】:2020-03-01 05:50:18
【问题描述】:

我有一个 react 应用程序,经过一段时间后,我设法用 docker 构建了它。 这里的一切都是在我的本地机器上完成的(windows 10 pro)。

我有以下 docker 文件:

# build environment
FROM node:12.13.0-alpine as build
WORKDIR /app
# ENV PATH /app/node_modules/.bin:$PATH
COPY package.json yarn.lock ./
RUN npm install --silent
COPY . /app
RUN npm run build

# production environment
FROM nginx:1.16.0-alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

我还是新手,我可能是错的,但在此构建之后:

docker build . -t myapp

并运行它:

docker run -p 8080:80 myapp

访问http://localhost:8080/ 并通过开发工具期待我的文件我仍然看到以下内容:

我的文件仍然暴露在外。

我错过了什么?认为生产版本不会显示所有内容?

【问题讨论】:

  • @JustinLessard 感谢您的意见。我尝试了以下方法:“build”:“GENERATE_SOURCEMAP=false && react-scripts build”,它是否适用于 react-creatapp 脚本,还是我缺少一些逻辑?
  • 应该的。 Yon can also 在你的项目根目录中创建一个文件名.env 并写入GENERATE_SOURCEMAP=false
  • @JustinLessard 谢谢 m8。我真的认为这是一个值得保留的问题,即使我在 cmets 中得到了答案。您能否在上面添加您的建议作为答案。

标签: reactjs react-create-app


【解决方案1】:

您需要删除源地图。

From this github issue

我们现在可以通过将以下设置放入.env 文件(位于项目的根目录)中来禁用源映射: GENERATE_SOURCEMAP=false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-08
    • 2020-01-27
    • 2018-08-18
    • 2017-08-04
    • 2018-09-21
    • 2021-09-09
    • 2018-10-11
    • 1970-01-01
    相关资源
    最近更新 更多