Cody2333 / koa-swagger-decorator

using decorator to automatically generate swagger doc for koa-router
348 stars 81 forks source link

There are some problems with the use of docker #82

Open nadjin opened 4 years ago

nadjin commented 4 years ago

Do not use docker can be normal operation, use docker on the error. ide: webstrom windows10 docker 19 node 10.16

package.json

{
  "name": "keyword_filter",
  "description": "keywork filter",
  "author": "kenes",
  "version": "0.0.1",
  "private": true,
  "license": "UNLICENSED",
  "main": "dist/server.js",
  "scripts": {
    "watch": "nodemon --watch 'src/**/*' -e ts --exec 'ts-node' src",
    "build": "npm run lint && tsc",
    "start": "npm run build && node dist"
  },
  "keywords": [],
  "dependencies": {
    "@koa/cors": "^3.0.0",
    "class-validator": "^0.9.1",
    "connection-string-parser": "^1.0.3",
    "dotenv": "^8.2.0",
    "koa": "^2.11.0",
    "koa-bodyparser": "^4.2.1",
    "koa-helmet": "^4.2.0",
    "koa-jwt": "^3.6.0",
    "koa-logger": "^3.2.1",
    "koa-redis": "^4.0.1",
    "koa-router": "^7.4.0",
    "koa-swagger-decorator": "^1.6.0",
    "reflect-metadata": "^0.1.13",
    "sqlite3": "^4.1.1",
    "typeorm": "^0.2.22",
    "winston": "^3.2.1"
  },
  "devDependencies": {
    "@types/dotenv": "^6.1.1",
    "@types/koa": "^2.11.0",
    "@types/koa-logger": "^3.1.1",
    "@types/koa-redis": "^3.0.3",
    "@types/koa-router": "^7.4.0",
    "@types/mysql": "^2.15.8",
    "@types/node": "^12.12.26",
    "@types/webpack": "^4.41.5",
    "cross-env": "^5.2.0",
    "nodemon": "^1.19.4",
    "ts-loader": "^6.2.1",
    "ts-node": "^8.6.2",
    "tslint": "^5.20.1",
    "typescript": "^3.7.5"
  },
  "engines": {
    "node": ">= 7.6"
  }
}

Dokerfile

FROM node:lts-alpine as builder

WORKDIR /server

ADD . /server

RUN npm install --registry=https://registry.npm.taobao.org
RUN npm run build

FROM node:lts-alpine as dist

WORKDIR /server

COPY --from=builder /server/dist .
COPY --from=builder /server/node_modules node_modules

CMD [ "node", "." ]

the error: /server/node_modules/any-promise/register-shim.js:2 module.exports = require('./loader')(window, loadImplementation) ^ ReferenceError: window is not defined at Object.<anonymous> (/server/node_modules/any-promise/register-shim.js:2:38) at Module._compile (internal/modules/cjs/loader.js:955:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10) at Module.load (internal/modules/cjs/loader.js:811:32) at Function.Module._load (internal/modules/cjs/loader.js:723:14) at Module.require (internal/modules/cjs/loader.js:848:19) at require (internal/modules/cjs/helpers.js:74:18) at loadModule (/server/node_modules/koa-swagger-decorator/dist/utils.js:45:17) at loadClass (/server/node_modules/koa-swagger-decorator/dist/utils.js:54:17) at /server/node_modules/koa-swagger-decorator/dist/utils.js:64:26 Thanks!

jimbol commented 4 years ago

I get this same problem running in a lambda

Swiftwork commented 3 years ago

I found our reason for this being that we had the wrong path in router.mapDir(path.resolve('.')); causing the mapping to look in node_modules/koa-swagger-decorator rather than the intended endpoint directory.