Acabei de criar uma nova pasta de projeto e executei os seguintes comandos:
- npm init
- npm install express
- npm instala express-react-views reage react-dom
Criou o index.js com visualizações e importadas expressas para um arquivo jsx de amostra. Quando executo no localhost, recebo este erro:
Error: Package exports for '<path_to_project_folder>/node_modules/@babel/helper-compilation-targets' do not define a '.' subpath
at applyExports (internal/modules/cjs/loader.js:485:15)
at resolveExports (internal/modules/cjs/loader.js:508:12)
at Function.Module._findPath (internal/modules/cjs/loader.js:577:20)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:879:27)
at Function.Module._load (internal/modules/cjs/loader.js:785:27)
at Module.require (internal/modules/cjs/loader.js:956:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (<path_to_project_folder>/node_modules/@babel/preset-env/lib/debug.js:8:33)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Module._compile (<path_to_project_folder>/node_modules/pirates/lib/index.js:99:24)
Em outubro de 2019, criei um aplicativo expresso usando as mesmas etapas executadas e descobri que não existe esse pacote (@ babel / helper-compilation-target) e ele funcionou bem.
Não tenho certeza do que está errado. Alguém pode ajudar com conselhos? Obrigado!
Respostas:
Teve o mesmo problema. A atualização do node.js corrigiu isso para mim
fonte
nvm install node
(se você tiver nvm, se não tiver)Ele será corrigido no babel v7.8.4, consulte https://github.com/babel/babel/pull/11006 . Antes de uma nova versão do babel ser cortada, atualize o node.js para> = 13.2.0, que incorpora a correção upstream necessária .
Observe que o node.js 12 não é afetado, a menos que você tenha alternado manualmente no
--experimental-modules
sinalizador. Se for esse o caso, atualize também o node.js para> = 13.2.0.fonte
Portanto, isso parece ser uma incompatibilidade entre Babel e Node.js. A solução geral é mudar para o nodejs 12 (por exemplo, se você estiver usando
nvm
), uma vez que afetou apenas o nodejs 13:No entanto, para meu aplicativo Rails 6, isso não foi suficiente por si só, pois ainda recebi o mesmo erro. Contar ao Yarn sobre a versão do nó que eu esperava usar era necessário além disso. Então eu adicionei isso ao
package.json
:fonte