Node.js 试图构建docker文件,但出现了一个神秘错误-在配置文件'/tsconfig.json';

Node.js 试图构建docker文件,但出现了一个神秘错误-在配置文件'/tsconfig.json';,node.js,docker,Node.js,Docker,我有以下Dockerfile: FROM node:12 RUN set -x \ rsyslog \ bash \ curl \ wget \ gettext \ jq WORKDIR . COPY package.json . RUN npm install -g typescript RUN npm install COPY . . RUN npm run build WORKDIR ./src RUN tsc --esModule

我有以下Dockerfile:

FROM node:12

RUN set -x \
    rsyslog \
    bash \
    curl \
    wget \
    gettext \
    jq


WORKDIR .
COPY package.json .
RUN npm install -g typescript

RUN npm install
COPY . .
RUN npm run build
WORKDIR ./src

RUN tsc --esModuleInterop index.ts
CMD [ "npm", "start" ]
EXPOSE 8080
mytsconfig.json中的include如下所示:

"include": [
    "src/controllers/customer/UserAPIController.ts",
    "src/controllers/customer/NoticeAPIController.ts",
    "src/controllers/merchant/NoticeAPIController.ts",
    "src/controllers/customer/MerchantAPIController.ts",
    "src/controllers/merchant/MerchantAPIController.ts",
    "src/controllers/merchant/UserAPIController.ts",
    "src/controllers/customer/SearchAPIController.ts",
    "src/controllers/customer/ChatController.ts",
    "src/controllers/analytics/AnalyticsAPIController.ts",
    "src/controllers/StripeController.ts",
]
当我登录到创建的docker映像时,所有这些文件都存在于它们的指定位置

那么我到底做错了什么


我正在尝试构建index.js和.js文件以运行应用程序。

错误显然是因为TypeScript linter需要根目录中的一个文件,即TypeScript

我通过执行以下操作修复了它:

创建名为“fake.ts”的空文件

并将其添加到我的tsconfig.json中:

"include": [
    "./fake.ts",
    "./src/controllers/customer/UserAPIController.ts",
    "./src/controllers/customer/NoticeAPIController.ts",
    "./src/controllers/merchant/NoticeAPIController.ts",
    "./src/controllers/customer/MerchantAPIController.ts",
    "./src/controllers/merchant/MerchantAPIController.ts",
    "./src/controllers/merchant/UserAPIController.ts",
    "./src/controllers/customer/SearchAPIController.ts",
    "./src/controllers/customer/ChatController.ts",
    "./src/controllers/analytics/AnalyticsAPIController.ts",
    "./src/controllers/StripeController.ts",
],

您确定要
WORKDIR.
?这将是容器的顶级目录(即,
/
)。我可能会将它移动到一个子目录,一旦这一切都正常工作,现在我只是测试它是否正常工作。