尝试构建docker文件并遇到神秘错误-在配置文件'/tsconfig.json'中未找到任何输入

时间:2020-02-26 17:37:26

标签: 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 --esModuleInterop index.ts
CMD [ "npm", "start" ]
EXPOSE 8080

tsconfig.json中的包含内容如下:

"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文件来运行应用程序。

1 个答案:

答案 0 :(得分:0)

该错误是因为显然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",
],