TSexpress]typeORMの設定



typeORMのインストールと設定

  • npmを使用してtypeorm、reflect-metadata、mysql 2をインストールします.
  • mysqlとmysql 2の違い
    mysqlはMySQL 8.0バージョンプロトコルに準拠する認証要求を発行できません.mysql 2は可能です.
  • cli入力npm install typeorm -gtypeormコマンド.
  • プロジェクトが設定されている場合は、typeorm init --database mysql2を入力してormconfigを行います.jsonを生成します.
  • tsconfig.json

    {
      "compilerOptions": {
        "lib": ["es5", "es6", "ES2018"],
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "outDir": "dist",
        "rootDir": "src",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "sourceMap": true,
        "esModuleInterop": true,
        "skipLibCheck": true,
        "noEmitOnError": true,
        "noUnusedLocals": true
      }
    }
    注意事項
  • tsconfig.json設定はすべて上書きされます.したがって、以前に設定しても意味がありません.
  • |ESモジュールを使用するには、
  • esModuleInteroptrueに設定する必要があります.
  • Curmandeウィンドウはエラーの解決方法を推奨し、使用中に発生した3つのエラーはモンゴメリーdb問題である.
  • libは、es 2018以降を書く再注釈を受け取った.提案に従って追加して問題を解決した.
  • オプション
  • moduleはモジュール化されており、フロントエンドではES 2015が使用可能であるが、バックエンドではnodeにはcommonJSモジュールが多く、commonJSが使用可能である.
  • typeorm上.d.tsエラーのためskipLibCheckをtrueに設定したため、libチェックは無視された.スタックオーバーフローでは、タイプスクリプトを3.6にダウングレードする方法も見つかりました.
  • ormconfig.json


    init typeormの場合、ormconfig.jsonを生成します.
    接続入力エラーのオプションを入力します.
    警備員のために.gitignoreでormconfig.jsonを書いてあげます.
    {
      "type": "mysql",
      "host": "localhost",
      "port": 3306,
      "username": "root",
      "password": "1234",
      "database": "slimeworld",
      "synchronize": true,
      "logging": true,
      "entities": ["dist/data/**/*.{js,ts}"],
      "migrations": ["dist/migration/**/*.{js,ts}"],
      "subscribers": ["dist/subscriber/**/*.{js,ts}"]
    }
    注意事項
    1.mysqlモジュールでエラーが発生しました.mysql 2モジュールormconfigをダウンロードする必要があります.jsonでは、typemysql2を書き込んではいけません!typemysqlしか記入できません.
    2.本書の例では、entitiessrcであり、ts-nodeを直接実行してもエラーは発生しませんが、tscに変換してノードを実行するとエラーが発生します.outDirとして定義されたフォルダに入力します.私の場合、distに変更しました.