Estoy usando Color JavaScript Library en mi código y estoy usando Parcel JS para agrupar mi código.
Cuando estoy ejecutando Parcel JS para desarrollo usando este comando:
parcel public/index.htmlTodo funciona bien.
Pero cuando construyo mi código para producción usando este comando:
parcel build public/index.html --public-url ./ --target browserRecibo este error -
> neusprite@0.0.1 build > parcel build public/index.html --public-url ./ --target browser 🚨 /home/aditya/Documents/Codes/NeuSprite/node_modules/color/index.js: Unexpected token name «_28», expected punc «,» at Z.get (/home/aditya/Documents/Codes/NeuSprite/node_modules/terser/dist/bundle.min.js:1:525) at Object.errorToJson (/home/aditya/Documents/Codes/NeuSprite/node_modules/@parcel/utils/src/errorUtils.js:9:20) at Pipeline.process (/home/aditya/Documents/Codes/NeuSprite/node_modules/parcel-bundler/src/Pipeline.js:29:26) at async Object.run (/home/aditya/Documents/Codes/NeuSprite/node_modules/parcel-bundler/src/worker.js:15:12) at async Child.handleRequest (/home/aditya/Documents/Codes/NeuSprite/node_modules/@parcel/workers/src/child.js:60:26) Una cosa a tener en cuenta es que cuando uso la siguiente opción --no-minify como este parcel build public/index.html --public-url ./ --target browser --no-minify simplemente funciona bien.
En StackoverFlow encontré esta respuesta
UglifyJs no es compatible con ES6. Es muy probable que el error sea la sintaxis abreviada del método.
Pero en la documentación de Parcel JS han mencionado que usan Terser
Parcel usa terser para minimizar JavaScript, cssnano para CSS, htmlnano para HTML y svgo para SVG. Si es necesario, puede configurar estas herramientas mediante un archivo de configuración .terserrc, .cssnanorc, .htmlnanorc o svgo.config.json. Consulte los documentos de JavaScript, CSS, HTML y SVG para obtener más detalles.
Y Terser menciona claramente que es adecuado para ES6+ en su página de GitHub.
Un kit de herramientas de analizador y triturador/compresor de JavaScript para ES6+.
Entonces, ¿por qué recibo este error?