Entonces, he usado Parcel varias veces antes y nunca he tenido un problema con él. Esta vez arroja algunos errores estúpidos sobre el control de versiones de SemVer y estoy literalmente perdiendo la cabeza tratando de encontrar una solución que solucione este problema.
Comencé un nuevo proyecto: instalé npm con npm init (sin opciones adicionales), luego instalé paquete npm install --save-dev parcel-bundler y luego creé mi estructura de carpetas:
--node_modules
--index.html
--index.js
Aquí está mi paquete.json:
{ "name": "playground", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "parcel index.html" }, "author": "", "license": "ISC", "devDependencies": { "parcel-bundler": "^1.12.4" } } Configuré el script npm predeterminado para ejecutar el paquete: "dev": "parcel index.html" y ejecutarlo. Todo funciona bien, sin embargo, cuando conecto mi index.js en index.html a través de <script src="/index.js"></script> arroja un gran error que dice:
D:\workingSpace\playground\index.js: Invalid Version: undefined at new SemVer (D:\workingSpace\playground\node_modules\@babel\preset-env\node_modules\semver\semver.js:314:11) at compare (D:\workingSpace\playground\node_modules\@babel\preset-env\node_modules\semver\semver.js:647:10) at lt (D:\workingSpace\playground\node_modules\@babel\preset-env\node_modules\semver\semver.js:688:10) at D:\workingSpace\playground\node_modules\@babel\preset-env\lib\index.js:276:22 at Object.default (D:\workingSpace\playground\node_modules\@babel\helper-plugin-utils\lib\index.js:22:12) at getEnvPlugins (D:\workingSpace\playground\node_modules\parcel-bundler\src\transforms\babel\env.js:62:34) at getEnvConfig (D:\workingSpace\playground\node_modules\parcel-bundler\src\transforms\babel\env.js:12:25) at async getBabelConfig (D:\workingSpace\playground\node_modules\parcel-bundler\src\transforms\babel\config.js:32:19) at async babelTransform (D:\workingSpace\playground\node_modules\parcel-bundler\src\transforms\babel\transform.js:6:16) at async JSAsset.pretransform (D:\workingSpace\playground\node_modules\parcel-bundler\src\assets\JSAsset.js:83:5)
Actualmente estoy usando Node v14.6.0 y, en consecuencia, es la versión npm - 6.14.11
Nunca me he enfrentado a este error antes, por favor ayuda T_T
Este es un problema conocido en la versión más reciente de Parcel.
La solución a este problema fue volver a la versión 1.12.3 o actualizar a la versión 2 de Parcel. Puedes hacer la primera solución por:
npm uninstall parcel-bundler npm i --save-dev parcel-bundler@1.12.3La segunda solución podría hacerse así:
npm i --save-dev parcel@nextEs posible que deba refactorizar un poco su código para evitar cambios bruscos si decide usar la versión nocturna de Parcel. Consulte más información sobre cómo migrar a Parcel v2/nightly aquí .
Póngase al día con ese problema aquí .
Actualización #1: 28/05/2021
Parece que el equipo de Parcel ha estado trabajando en una solución, al momento de escribir (28/05/2021). Si bien no he verificado personalmente si la actualización funcionó correctamente o no, esta respuesta sigue siendo una solución viable y factible.
Recientemente pasé por este problema, en el que parcel@1.12.4 seguía lanzando Invalid Version: undefined incluso después de intentar una solución muy lógica publicada en GitHub # 5943 .
La instalación de parcelV2 funcionó en mi caso. Si alguien más se enfrenta a un problema similar, recomendaría probar los siguientes pasos:
npm uninstall -D parcel-bundlernpm install -D parcel@nextnpx parcel serve index.html