protocolbuffers / protocolbuffers/protobuf-javascript
The generated commonjs `*_pb.js` files don't work in Node.js environment
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 471
- Forks
- 91
- Merge medio
- 3 h 57 min
- PR fusionados (30 d)
- 2
Descripción
This bug is a rebirth of protocolbuffers/protobuf#9152, which has already been fixed in v3.19.1. It seems the fix hasn't been delivered to the latest version.
What version of protobuf and what language are you using?
Version: v3.20.1
Language: Javascript
What operating system (Linux, Windows, ...) and version?
macOs Monterey v12.3.1
What runtime / compiler are you using (e.g., python version or gcc version)
Node.js v16.13.0
What did you do?
- Run
protoc --js_out=import_style=commonjs,binary:path/to/out/dir --proto_path=. *.proto - Try to import and use the generated *_pb.js files.
What did you expect to see
Import and use without errors (just as in 3.19.1 - 3.19.4).
What did you see instead?
ReferenceError: window is not defined
14 | var jspb = require('google-protobuf');
15 | var goog = jspb;
> 16 | var global = (function() { return this || window || global || self || Function('return this')(); }).call(null);
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el problema con el comando protoc mostrado y Node.js v16.13.0; después, inspecciona el código *_pb.js generado alrededor de la inicialización global en la línea 16. Compara el comportamiento con las versiones 3.19.1–3.19.4 de protobuf; se considera terminado cuando los archivos CommonJS generados se pueden importar y usar en Node.js sin un error de window.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, node.js
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100