Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Erro na migracao, nao sei o que fazer

e o meu terceiro dia, e nao consigo resolver esse problema, um me respondeu, porem ainda nao deu certo, alguem que tenha sugestoes do que fazer?

PS C:\Users\Asus\loja> typeorm-ts-node-esm -d src/db/data-source-cli.ts migration:show

Error during migration show: Error: Unable to open file: "C:\Users\Asus\loja\src\db\data-source-cli.ts". Cannot use import statement outside a module at CommandUtils.loadDataSource (C:\Users\Asus\AppData\Roaming\npm\node_modules\typeorm\commands\CommandUtils.js:22:19) at async Object.handler (C:\Users\Asus\AppData\Roaming\npm\node_modules\typeorm\commands\MigrationShowCommand.js:27:26)

2 respostas

Olá, John!

Esse erro que você está recebendo indica que há um problema com a importação de módulos no seu arquivo data-source-cli.ts.

O erro Cannot use import statement outside a module geralmente ocorre quando você está tentando usar a sintaxe import do ES6 em um ambiente que não suporta essa sintaxe. No Node.js, você geralmente precisa usar a sintaxe require para importar módulos, a menos que você esteja usando um transpilador como Babel ou esteja executando uma versão do Node.js que suporte ES6.

Como uma possível solução, você pode tentar substituir a sintaxe import pela sintaxe require no seu arquivo data-source-cli.ts. Por exemplo, se você tem algo como:

import { createConnection } from 'typeorm';

Você pode substituir por:

const createConnection = require('typeorm').createConnection;

Outra possibilidade é que você esteja executando uma versão do Node.js que não suporta a sintaxe import. Nesse caso, você pode considerar a atualização para uma versão mais recente do Node.js que suporte ES6.

Lembre-se, essas são apenas sugestões baseadas no erro que você compartilhou e podem não resolver completamente o seu problema.

Espero ter ajudado e bons estudos!

solução!

eu entendi perfeitamente, mas para dois import como esse

import { DataSource, DataSourceOptions } from 'typeorm';

seria : const DataSource = require('typeorm').DataSource,const DataSourceOptions = require('typeorm').DataSourceOptions ?

obs: quando eu faco isso, da um erro: 'DataSourceOptions' refere-se a um valor, mas está sendo usado como um tipo aqui. Você quis dizer 'typeof DataSourceOptions'?, segundo erro: Require statement not part of import statement

sem querer cliquei no resolvido, mas entendi o raciocionio, vou tentar resolver dessa maneira