运行 Nestjs 应用程序时,Typeorm 迁移中“无法在模块外部使用 import 语句”

2024-05-11

我创建了 Nestjs 应用程序。在根应用程序文件夹中,我有这些子文件夹:

  • dist
  • 移民
  • src
  • test

迁移文件夹包含 typeorm 迁移。
当运行应用程序时npm 运行启动: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 应用程序时如何忽略迁移文件夹?


要解决这个问题,只需将以下代码放在 package.json 的“脚本”中:

"typeorm": "ts-node-dev ./node_modules/typeorm/cli.js",

之后,您将能够运行 typeorm 迁移:run :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 Nestjs 应用程序时,Typeorm 迁移中“无法在模块外部使用 import 语句” 的相关文章

随机推荐