Razzle: ¿Cómo aplicar razzle a un proyecto existente?

Creado en 24 may. 2018  ·  11Comentarios  ·  Fuente: jaredpalmer/razzle

Lo siento si fue una pregunta inapropiada,
Mi proyecto es creado por CRA y usa Express.js como backend.
¿Parece que la única forma de comenzar es crear una nueva aplicación razzle de acuerdo con los documentos?
¿Qué debo hacer si solo quiero aplicarlo en mi proyecto actual?

No estoy seguro de si eso es posible... a menos que reescriba nuestra aplicación

stale

Comentario más útil

Tengo la misma pregunta. He creado una aplicación React personalizada. ¿Cómo puedo integrar razzle en él?

Todos 11 comentarios

Estoy pasando por esto ahora mismo.
Tuve la configuración del proyecto CRA de la siguiente manera:

/proyectos/mi-cra-aplicacion
debajo de lo anterior, tengo src , node_modules y todo lo demás que creó CRA.

No pude encontrar una manera de mezclar razzle en él (y al principio, pensé que razzle reemplazaría a CRA, y en realidad podría servir Client-render (puerto 3001) y Server-render (puerto 3000) desde el mismo proyecto. Pero eso tampoco funcionó (publiqué una pregunta sobre eso antes, aquí, pero no hubo respuestas).
También estoy usando razzle más reciente (alfa) con webpack4, mientras que CRA sigue siendo webpack (3), aunque algunas confirmaciones iniciales para webpack 4 ahora aterrizaron en su rama principal...

Así que lo que hice por ahora, fue lo siguiente

/proyectos/mi-aplicación/aplicación.src
/projects/my-app/app-cra que contiene node_modules (con ./src/ que contiene App.js App.css generado por cra)
/projects/my-app/app-ssr que contiene node_modules (con ./src/ que contiene cosas generadas por razzle)

entonces app-cra/src también contiene un enlace simbólico a ../../app.src
y app-ssr/src también contiene un enlace simbólico a ../../app.src

De esta manera, puedo compartir la misma fuente pero diferentes guiones de punto de entrada y diferentes módulos de nodo entre razzle y cra.

desafortunadamente, razzle no transpondrá/compilará su JS directamente desde los directorios enlazados (tampoco lo hará cRA).

Así que estoy usando rewire para CRA y razle-config.js para indicarles a ambos que miren mis archivos JS en los directorios enlazados.

si desea elegir en razle-config.js que tengo ahora, puede verlo aquí en stack-overflow (ya que tengo un problema con una de las bibliotecas que estoy tratando de usar para SSR... . así que busco ayuda en stack-overflow para eso).

Es un poco complicado porque estoy haciendo más que el razzle predeterminado (react-native-web, react-vector-icons, sass, symlinked directorys..., transponiendo algunos módulos node_modules seleccionados, porque sus autores optaron por no entregarlos para la web). despliegues, etc)

https://stackoverflow.com/questions/50514135/error-in-react-native-vector-icons-when-using-for-web-server-side-rendering

Mmm, gracias por tu respuesta. Todavía no entiendo cómo hacerlo aunque

@ifndefdeadmau5 conserva tu aplicación CRA.

a) cree otra aplicación nueva con create-razzle-app, en el mismo nivel de carpeta en su aplicación CRA.

b) mueva los archivos que desea compartir entre las 2 aplicaciones, en una carpeta común.

c) Cree enlaces simbólicos desde el directorio src de las dos aplicaciones, apuntando a la carpeta que creó en b).

d) use razzle-config.js y rewire (para la aplicación CRA) para indicarle al paquete web que transfiera los archivos JS en los enlaces simbólicos creados en el paso c).

No pude encontrar otra forma de decir que sí, por lo que otros podrían tener mejores respuestas...

@jaredpalmer Hola, ¿podría proporcionar una solución sobre cómo migrar de CRA a la aplicación de representación del servidor razzle y actualizar el documento relacionado en el archivo Léame? Gracias por adelantado.

¡Hola! Así que este es el trato, entre el código abierto y mi trabajo diario y la vida y lo que no, tengo mucho que administrar, por lo que uso un bot de GitHub para automatizar algunas cosas aquí y allá. Este bot de GitHub en particular va a marcar esto como obsoleto porque no ha tenido actividad reciente durante un tiempo. Se cerrará si no se produce más actividad en unos días. No se lo tome como algo personal, en serio, es una acción completamente automatizada. Si esto es un error, simplemente haga un comentario, envíeme un mensaje privado, envíe una paloma mensajera o una señal de humo.

ProBot cerró automáticamente esto debido a la inactividad. Grita si se trata de un error y lo volveremos a abrir.

Tengo la misma pregunta. He creado una aplicación React personalizada. ¿Cómo puedo integrar razzle en él?

¿Algún avance en esto?

Tengo la misma pregunta, debería haber algunos tutoriales sobre esto.

algun avance con eso?

También estoy teniendo problemas con esto. Tenía una aplicación CRA que funcionaba perfectamente e intenté migrar a Razzle cambiando el nombre de index.tsx a client.tsx y agregando un servidor a index.ts , sin embargo, cuando ejecuto razzle start parece que intenta agrupar el código del servidor con el cliente y arroja errores como

These dependencies were not found:

* fs in ../.yarn/$$virtual/babel-plugin-styled-components-virtual-cfb9253662/0/cache/babel-plugin-styled-components-npm-1.11.1-9e78975a1c-4b545bed54.zip/node_modules/babel-plugin-styled-components/lib/visitors/displayNameAndId.js, ../.yarn/cache/cosmiconfig-npm-6.0.0-cb7d64a2b9-bbd6bbaefe.zip/node_modules/cosmiconfig/dist/readFile.js and 4 others
* module in ../.yarn/cache/resolve-patch-af4189aea7-9e62d2803a.zip/node_modules/resolve/lib/normalize-options.js, ../.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-87a4357c0c.zip/node_modules/resolve-from/index.js

¿A alguien le ha pasado lo mismo o tiene idea de cómo solucionarlo?

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ewolfe picture ewolfe  ·  4Comentarios

gabimor picture gabimor  ·  3Comentarios

panbanda picture panbanda  ·  5Comentarios

Jayphen picture Jayphen  ·  4Comentarios

sebmor picture sebmor  ·  4Comentarios