我的nodemon在打字稿文件更改后没有重新启动。
目前我正在使用以下内容来运行和编译我的更改:
"dev": "nodemon -e ts,json --exec \"npm run compile\"",
"compile": "tsc && node src/index.js"
它应检测 ts 更改并重新编译,但不是。
它正在通过与卷链接的docker容器运行,应该监视卷中的代码。
搬运工-撰写
version: '2'
services:
api:
build:
context: ./api
ports: ["5000:5000"]
environment:
- NODE_ENV=production
覆盖:
version: '2'
services:
api:
command: yarn run dev
volumes:
- ./api/src:/usr/workspace/api/src
environment:
- NODE_ENV=dev
api具有以下 dockerfile
FROM node:latest
# Install yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && apt-get update && apt-get clean
# Set working dir and copy contents of our images to that dir
RUN mkdir -p /usr/workspace/api && cd /usr/workspace/api
# install dependencies
COPY *.json /usr/workspace/api/
WORKDIR /usr/workspace/api
# npm install will check NODE_ENV if its production if will not install dev dependencies
RUN npm install --silent && npm install -g nodemon pm2 typescript --silent
# copy sources
COPY ./src ./src
# create env file with the port
ENV PORT 8100
EXPOSE $PORT
CMD ["pm2-docker", "src/process.json"]
如您所见,使用覆盖我运行开发环境而不是暂存
我已经尝试在我的 tsconfig 中将watch选项设置为true,但是代码没有运行。当我更改nodemon选项以观察 js 文件时它也可以工作,但是它会不断重建,因为它会在编译时检测到js文件的变化。
任何意见?
答案 0 :(得分:7)
我已通过将-L
开关添加到nodemon来解决此问题。这显然使用了在docker容器上工作的传统手表
"dev": "nodemon -L -e ts,json --exec \"npm run compile\"",