Razzle: Como aplicar razzle ao projeto existente?

Criado em 24 mai. 2018  ·  11Comentários  ·  Fonte: jaredpalmer/razzle

Desculpe se foi uma pergunta inapropriada,
Meu projeto é criado pelo CRA e usando o Express.js como backend.
Parece que a única maneira de começar é criar um novo aplicativo razzle de acordo com os documentos?
O que devo fazer se quiser apenas aplicá-lo no meu projeto atual?

Não tenho certeza se isso é possível... a menos que eu reescreva nosso aplicativo

stale

Comentários muito úteis

Estou com a mesma pergunta. Eu criei um aplicativo React personalizado. Como posso integrar o razzle nele?

Todos 11 comentários

Estou passando por isso agora mesmo.
Eu tinha a configuração do projeto CRA da seguinte maneira:

/projects/my-cra-app
abaixo do acima, eu tenho src , node_modules e tudo mais que o CRA criou.

Não consegui descobrir uma maneira de misturar o razzle nele (e, a princípio, pensei que o razzle substituiria o CRA e poderia realmente servir Client-render (porta 3001) e Server-render (porta 3000) do mesmo projeto. Mas que também não funcionou (eu postei uma pergunta sobre isso anteriormente, aqui, mas sem respostas).
Também estou usando o razzle mais recente (alfa) com o webpack4, enquanto o CRA ainda é o webpack (3), embora alguns commits iniciais do webpack 4 agora tenham chegado ao branch master ...

Então o que eu fiz por enquanto, foi o seguinte

/projects/my-app/app.src
/projects/my-app/app-cra que contém node_modules (com ./src/ contendo App.js App.css gerado por cra)
/projects/my-app/app-ssr que contém node_modules (com ./src/ contendo coisas geradas por razzle)

então app-cra/src também contém um link simbólico para ../../app.src
e app-ssr/src também contém um link simbólico para ../../app.src

desta forma, posso compartilhar a mesma fonte, mas diferentes scripts de ponto de entrada e diferentes node_modules entre razzle e cra.

infelizmente, o razzle não irá transpor/compilar seu JS diretamente dos diretórios com links simbólicos (nem o cRA).

Então, estou usando rewire para CRA e razle-config.js para instruir ambos a olhar meus arquivos JS nos diretórios com links simbólicos.

se você quiser escolher o razle-config.js que eu tenho agora, você pode vê-lo aqui no estouro de pilha (já que estou tendo um problema com uma das bibliotecas que estou tentando usar para SSR .. . então procurando ajuda no estouro de pilha para isso).

É um pouco complicado porque estou fazendo mais do que razzle padrão (react-native-web, react-vector-icons, sass, symlinked directorys..., transpondo alguns módulos node_modules selecionados, porque seus autores optaram por não entregá-los para web- implantações, etc.)

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

Hum, obrigado pela sua resposta. Ainda não entendi como fazer isso

@ifndefdeadmau5 mantenha seu aplicativo CRA.

a) crie outro novo aplicativo com create-razzle-app, no mesmo nível de pasta do seu aplicativo CRA.

b) mova os arquivos que deseja compartilhar entre os 2 aplicativos, para uma pasta comum.

c) Crie links simbólicos a partir do diretório src dos dois aplicativos, apontando para a pasta que você criou em b).

d) use razzle-config.js e rewire (para aplicativo CRA) para instruir o webpack a transpor os arquivos JS nos links simbólicos criados na etapa c).

Eu não consegui descobrir outra maneira de fazer sim, para que outros possam ter respostas melhores ...

@jaredpalmer Olá, você poderia fornecer uma solução sobre como migrar do CRA para o aplicativo de renderização do servidor razzle e atualizar o documento relacionado no readme? Desde já, obrigado.

Olá! Então aqui está o acordo, entre o código aberto e meu trabalho diário e vida e o que mais, eu tenho muito o que gerenciar, então eu uso um bot do GitHub para automatizar algumas coisas aqui e ali. Este bot GitHub em particular vai marcar isso como obsoleto porque não teve atividade recente por um tempo. Ele será fechado se nenhuma outra atividade ocorrer em alguns dias. Não leve isso para o lado pessoal - a sério - esta é uma ação totalmente automatizada. Se isso for um erro, apenas faça um comentário, me mande uma DM, envie um pombo-correio ou um sinal de fumaça.

O ProBot fechou isso automaticamente devido à inatividade. Grite se isso for um erro, e vamos reabri-lo.

Estou com a mesma pergunta. Eu criei um aplicativo React personalizado. Como posso integrar o razzle nele?

alguma atualização disso?

Eu tenho a mesma dúvida, deve haver alguns tutoriais sobre isso.

algum progresso com isso?

Também estou tendo problemas com isso. Eu tinha um aplicativo CRA funcionando perfeitamente e tentei migrar para o Razzle renomeando index.tsx para client.tsx e adicionando um servidor para index.ts , no entanto, quando executo razzle start parece que tenta agrupar o código do servidor com o cliente e lança erros 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

Alguém teve o mesmo ou tem alguma ideia de como resolver isso?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

alexjoyner picture alexjoyner  ·  3Comentários

gabimor picture gabimor  ·  3Comentários

ewolfe picture ewolfe  ·  4Comentários

GouthamKD picture GouthamKD  ·  3Comentários

jcblw picture jcblw  ·  4Comentários