我用 Node 设置了 docker 实例。 我想在这个实例上进行开发并使用 babel 来“编译”我的 Node 代码。 我使用 @docker/cli 使用 watch 标志进行编译,并使用带有 -L 标志的 nodemon 。 由于某种原因,nodemon 正在观察文件的巨大变化,但 babel 却没有。 有什么想法吗?
这是我的 docker-compose.yml
main-app:
build: ./mainApp
user: "root"
command: yarn run start:watch
environment:
NODE_ENV: production
PORT: 8080
volumes:
- ./mainApp:/app
- /app/node_modules
ports:
- '8080:8080'
这是package.json:
"scripts": {
"build": "babel src --out-dir public",
"serve": "node public/server.js",
"build:watch": "babel --watch src -d public -s",
"serve:watch": "nodemon -L public/server.js",
"start:watch": "concurrently -k \"npm run build:watch\" \"npm run serve:watch\""
},
"dependencies": {
"express": "^4.16.1"
},
"devDependencies": {
"@babel/cli": "^7.0.0-beta.35",
"@babel/core": "^7.0.0-beta.35",
"@babel/preset-env": "^7.0.0-beta.35"
},
正如你所看到的,我同时使用它们来运行它们。
babel 没有查看我的文件可能是什么问题?
PS:它在我的本地计算机上运行良好
最佳答案
babel-watch 不适合我。 当我通过 babel cli 编译代码并输出到另一个目录时(由第二个 docker 容器使用) 我最终使用了nodemon exec选项 在我的 package.json 中,专门为 docker 创建了新脚本:
"docker-build:watch": nodemon -L --watch src --exec 'npm run build:watch'
然后使用 npm run docker-build:watch 而不是 npm run build:watch
关于node.js - docker 上的 babel watch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47959322/