&引用;无法在模块外部使用导入语句;运行nestjs应用程序时在typeorm迁移中
我已经创建了nestjs应用程序。在根应用程序文件夹中,我有以下子文件夹:&引用;无法在模块外部使用导入语句;运行nestjs应用程序时在typeorm迁移中,nestjs,typeorm,Nestjs,Typeorm,我已经创建了nestjs应用程序。在根应用程序文件夹中,我有以下子文件夹: 距离 迁移 src 试验 迁移文件夹包含typeorm迁移。 当使用npm运行应用程序时,运行start:dev时,我出现以下错误: import {MigrationInterface, QueryRunner} from "typeorm"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at Module._compi
- 距离
- 迁移
- src
- 试验
当使用npm运行应用程序时,运行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”导入{MigrationInterface,QueryRunner};
^^^^^^
SyntaxError:无法在模块外部使用导入语句
at模块编译(内部/modules/cjs/loader.js:891:18)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:991:10)
在Module.load(内部/modules/cjs/loader.js:811:32)
at Function.Module._load(内部/modules/cjs/loader.js:723:14)
at Module.require(内部/modules/cjs/loader.js:848:19)
根据需要(internal/modules/cjs/helpers.js:74:18)
在Function.PlatformTools.load(C:\Users\dakru1\Documents\employo\employo api\node\u modules\tyform\PlatformTools.js:114:28)
位于C:\Users\dakru1\Documents\employo\employo api\node\u modules\typeorm\util\DirectoryExportedClassesLoader.js:39:69
在Array.map()处
在Object.importClasseSfrom目录下(C:\Users\dakru1\Documents\employo\employo api\node\u modules\typeorm\util\DirectoryExportedClassesLoader.js:39:10)
我理解错误消息,并且知道当它与应用程序代码相关时如何修复它
但是,我的问题是,此错误来自typeorm迁移文件:[app root folder]\migration\1587067680466 Init.ts
,应用程序运行时不应使用该文件
为什么nestjs使用迁移文件。运行nestjs应用程序时,如何忽略迁移文件夹?我也遇到了同样的问题。我做了以下工作作为解决办法:
js
的迁移文件:“迁移”:[“migrations/*.js”]
npm安装-g typescript
tsc迁移/migration file.ts
npm运行typeorm迁移:运行
npm运行开始:dev
要解决这个问题,只需在package.json的“脚本”中添加以下代码:
"typeorm": "ts-node-dev ./node_modules/typeorm/cli.js",
之后,您就可以运行typeorm迁移:run:)这是否回答了您的问题?这是最好的答案,但不要这样做。看看蒂亚戈的答案。@Gus你能详细说明一下为什么我们不应该这样做吗?它有很多问题:它在TypeScript上出现了中断(因为
.ts
->.js
更改),需要全局安装包,需要更多步骤,等等。