docker容器中直接修改react的ts代码后提交未生效问题

本文介绍在Docker容器中直接修改React TypeScript代码后,如何通过手动执行npm命令来解决代码更改未能生效的问题。

背景

在docker容器中直接修改react的ts代码后,执行docker commit提交修改后的镜像,重新docker pull拉取镜像并启动容器。

//补充此处加载代码
load() {
    this.loadJobs().then(() => {
      this.loadAWS();
    try {
      if (localStorage["password"]) {
        this.login(localStorage["password"]);
      }
    } catch (e) {
      console.log('Exception reading secret key from localstorage:', e);
    }
  }

现象

发现修改代码后未生效,未能从localStroage中获取保存的密码,也没有打印报错。

解决过程

1、检查dockerfile文件

检查dockerfile中的entrypoint以及cmd,发现其中未有执行npm run 相关的启动前端项目的命令(npm run相关命令在dockerfile中非entrypoint中,即在之前docker build .过程中会运行npm run相关命令)。由于我的场景是直接在容器中修改代码然后commit容器的修改内容,中间未有docker build过程,也就是缺少npm run build的过程,故前端代码未生效。

RUN \
	cd ${APP_DIR} && \
	npm install && \
	npm run build              #此处编译启动react项目

ENTRYPOINT [  "node xxx.ts" ]  #此处为entrypoint

2、docker容器中进行手动更新部署

在docker容器中手动执行npm install ,npm run build即可解决代码未生效问题。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值