簡體   English   中英

安裝后如何設置Dockerfile以運行babel?

[英]How do I setup Dockerfile to run babel after install?

當運行docker-compose up時,嘗試構建我的nodejs代碼時docker-compose up我總是遇到babel錯誤,因為它是用ES6編寫的,帶有導入功能,而不是const。

babel server.js -d dist && babel src -d dist / src

babel:server.js不存在

我的目錄結構是:

  • server.js

  • src

    • 所有其他js文件

我應該如何設置Dockerfile,因為在創建容器時我顯然不了解文件位置。

到目前為止,我已經嘗試將構建位置移動到dist文件夾而不是構建,但這只是文件重命名。 我還嘗試更改COPY . COPY server.js ,也失敗了。

Docker文件

FROM node:latest
WORKDIR /usr/src/app/api
COPY package.json /usr/src/app/api
RUN npm install
COPY . /usr/src/api
RUN npm run build
EXPOSE 4000
CMD npm run start

package.json

  "scripts": {
    "build": "babel server.js -d dist && babel src -d dist/src",
    "dev-start": "babel-watch server.js",
    "start": "npm run build && node dist/server.js"
  }

我希望容器在構建完應用程序后完成創建,並且當前的實際結果是構建失敗和容器故障。

似乎您在COPY命令中的路徑錯誤

您在WORKDIR /usr/src/app/api路徑WORKDIR /usr/src/app/api

COPY . /usr/src/api路徑COPY . /usr/src/api COPY . /usr/src/api

將路徑作為您的路徑放入workdir ,例如COPY . /usr/src/app/api的復制命令COPY . /usr/src/app/api COPY . /usr/src/app/api

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM