Así que tengo una biblioteca que no es de reacción (llamémosla D) que estoy construyendo como un paquete NPM local (aún no está cargado en npm). También tengo un paquete separado (tampoco cargado en ninguna parte) que es un sitio de crear-reaccionar-aplicación que consta de demostraciones de D. Dado que D está en desarrollo y no está cargado, estoy usando el enlace npm para obtener el sitio de demostraciones para usar mi copia local en desarrollo de D.
Desafortunadamente, a pesar de ser un paquete separado, parece que CRA evalúa el contenido de D con las mismas reglas de babel que tiene para sí mismo. Estoy probando con un miembro privado que usa la sintaxis # (no TypeScript) y CRA parece tener problemas con eso:
../render/three/ThreeEntity.js 43:2 #### this file is part of the library D, not the CRA demos app Module parse failed: Unexpected character '#' (43:2) File was processed with these loaders: * ./node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js * ./node_modules/babel-loader/lib/index.js You may need an additional loader to handle the result of these loaders. | | export default class ThreeEntity { #deployed; | #entity; | #three;
Tengo entendido que los miembros de clases privadas han sido compatibles con Node durante algún tiempo ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields#browser_compatibility ), por lo que también estoy No estoy seguro de por qué Babel está luchando con esto. ¿Alguien puede proporcionar alguna idea?