Docker 容器中的nodemon 问题。检测到更改,页面未更新

问题描述 投票:0回答:1

我已经用谷歌搜索到这个了。我看到其他人也有同样的问题,我已经尝试过他们的解决方案,但它对我不起作用。简而言之,问题是我正在运行一个带有节点应用程序的容器。我使用nodemon“实时”查看代码的更改,我可以看到代码的更改正在被检测到,因为每次我保存代码中的更改时控制台都会这样说:

  • 当我进行更改时,它不会在我的浏览器中更新,我必须手动刷新页面才能看到更改。

仪表板应用程序 | [nodemon] 由于更改而重新启动... 仪表板应用程序 | [nodemon] 开始

node app.js
仪表板应用程序 |服务器正在 http://localhost:3000 上运行

这是我的代码。让我们从应用程序的 docker-compose.yml 开始:

dashboard-app:
    container_name: dashboard-app
    build: .
    ports:
      - "3000:3000"
    environment:
      - CHOKIDAR_USEPOLLING=true
      - WATCHPACK_POLLING=true
    volumes:
      - .:/usr/src/app  # Mount your project directory correctly
      - /usr/src/app/node_modules
    command: nodemon -L app.js
    networks:
      - my-network
    restart: always

比我的 Dockerfile:

FROM node:16

# Set working directory
WORKDIR /usr/src/app

# Copy package.json and package-lock.json
COPY package*.json ./

# Install all dependencies
RUN npm install

# Copy all other files
COPY . .

# Install nodemon globally
RUN npm install -g nodemon

# Expose port 3000
EXPOSE 3000

# Command to run nodemon
CMD ["npm", "start"]

和我的 package.json:

{
  "name": "my-node-dashboard",
  "version": "1.0.0",
  "description": "A dashboard for business tools and stats",
  "main": "app.js",
  "scripts": {
    "start": "nodemon -L app.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.22"
  }
}

我相信这就是影响这个特定问题的一切。 有人看到任何错误吗?或者有解决办法吗?

此问题的其他解决方案主要围绕使用nodemon命令中的-L标签。 和/或添加环境 chokidar_usepolling=true。这对我来说没有用。

node.js docker containers nodemon
1个回答
0
投票

考虑添加

"nodemonConfig": {
    "legacyWatch": true
}

到你的package.json

© www.soinside.com 2019 - 2024. All rights reserved.