Node.js 试图构建docker文件,但出现了一个神秘错误-在配置文件'/tsconfig.json';
我有以下Dockerfile: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
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.
?这将是容器的顶级目录(即,/
)。我可能会将它移动到一个子目录,一旦这一切都正常工作,现在我只是测试它是否正常工作。