我已经创建了nestjs应用。在根应用程序文件夹中,有以下子文件夹:
迁移文件夹包含typeorm迁移。
当使用 npm run start:dev 运行应用程序时,出现此错误:
import {MigrationInterface, QueryRunner} from "typeorm";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:891:18)
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 Function.PlatformTools.load (C:\Users\dakru1\Documents\employo\employo-api\node_modules\typeorm\platform\PlatformTools.js:114:28)
at C:\Users\dakru1\Documents\employo\employo-api\node_modules\typeorm\util\DirectoryExportedClassesLoader.js:39:69
at Array.map (<anonymous>)
at Object.importClassesFromDirectories (C:\Users\dakru1\Documents\employo\employo-api\node_modules\typeorm\util\DirectoryExportedClassesLoader.js:39:10)
我了解错误消息,并且知道与应用程序代码相关的错误消息。
但是,我的问题是此错误来自typeorm迁移文件:[app-root-folder]\migration\1587067680466-Init.ts
,在运行应用程序时不应使用该文件。
为什么nestjs使用迁移文件。运行nestjs应用程序时如何忽略迁移文件夹?
答案 0 :(得分:0)
我有同样的问题。我做了以下作为解决方法:
js
的迁移文件:"migrations": ["migrations/*.js"]
,npm install -g typescript
tsc migrations/migration-file.ts
npm run typeorm migration:run
npm run start:dev
答案 1 :(得分:0)
要解决此问题,只需将以下代码放在package.json的“脚本”上:
"typeorm": "ts-node-dev ./node_modules/typeorm/cli.js",
之后,您将可以运行您的typeorm迁移:run:)