Razzle: 如何将 razzle 应用于现有项目?

创建于 2018-05-24  ·  11评论  ·  资料来源: jaredpalmer/razzle

对不起,如果这是不恰当的问题,
我的项目由 CRA 创建并使用 Express.js 作为后端。
似乎开始的唯一方法是根据文档创建新的 razzle 应用程序?
如果我只想将它应用到我当前的项目中,我该怎么办?

我不确定这是否可能..除非我重写我们的应用程序

stale

最有用的评论

我有同样的问题。 我创建了一个自定义 React 应用程序。 如何将 razzle 集成到其中?

所有11条评论

我自己现在正在经历这个。
我通过以下方式设置了 CRA 项目:

/projects/my-cra-app
然后,在上面的下面,我有 src 、 node_modules 和 CRA 创建的所有其他内容。

我想不出一种将 razzle 混入其中的方法(起初,我认为 razzle 将取代 CRA,并且实际上可以从同一个项目中为 Client-render(端口 3001)和 Server-render(端口 3000)提供服务。但是那也不起作用(我早些时候在这里发布了一个问题,但没有回复)。
此外,我正在使用带有 webpack4 的 razzle latest (alpha),而 CRA 仍然是 webpack (3),尽管 webpack 4 的一些初始提交现在落在了他们的主分支上......

所以我现在做的是以下

/projects/my-app/app.src
/projects/my-app/app-cra 包含 node_modules(带有 ./src/ 包含 cra 生成的 App.js App.css)
/projects/my-app/app-ssr 包含 node_modules (与 ./src/ 包含 razzle 生成的东西)

然后 app-cra/src 还包含指向 ../../app.src 的符号链接
并且 app-ssr/src 还包含指向 ../../app.src 的符号链接

这样我可以共享相同的源代码但不同的入口点脚本,以及 razzle 和 cra 之间的不同 node_modules。

不幸的是,razzle 不会直接从符号链接的目录中转换/编译你的 JS(cRA 也不会)。

所以我对 CRA 使用 rewire,并使用 razle-config.js 来指示两者在符号链接目录中查看我的 JS 文件。

如果你想选择我现在拥有的 razle-config.js,你可以在 stack-overflow 上看到它(因为我遇到了我试图用于 SSR 的库之一的问题.. .所以寻找有关堆栈溢出的帮助)。

这有点复杂,因为我所做的不仅仅是默认的 razzle(react-native-web、react-vector-icons、sass、symlinked 目录......,转换了一些选定的 node_modules 模块,因为它们的作者选择不将它们提供给 web-部署等)

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

嗯,谢谢你的回答。 还是不知道怎么弄

@ifndefdeadmau5保留您的 CRA 应用程序。

a) 使用 create-razzle-app 在您的 CRA 应用程序的同一文件夹级别创建另一个新应用程序。

b) 将您要在 2 个应用程序之间共享的文件移动到一个公共文件夹中。

c) 从两个应用程序的 src 目录创建符号链接,指向您在 b) 中创建的文件夹。

d) 使用 razzle-config.js 和 rewire(对于 CRA 应用程序)指示 webpack 转换在步骤 c) 中创建的符号链接中的 JS 文件。

我想不出另一种方法是肯定的,所以其他人可能有更好的答案......

@jaredpalmer您好,您能否提供有关如何从 CRA 迁移到 razzle 服务器渲染应用程序并更新自述文件中的相关文档的解决方案? 提前致谢。

你好! 所以这就是开源与我的日常工作和生活之间的交易,我有很多事情要管理,所以我使用 GitHub 机器人在这里和那里自动化一些事情。 这个特定的 GitHub 机器人将把它标记为陈旧,因为它有一段时间没有最近的活动。 如果几天内没有进一步的活动,它将关闭。 不要把这当成个人 - 说真的 - 这是一个完全自动化的操作。 如果这是一个错误,请发表评论、私信我、发送航母 pidgeon 或烟雾信号。

ProBot 由于不活动而自动关闭它。 如果这是一个错误,请大喊大叫,我们将重新打开它。

我有同样的问题。 我创建了一个自定义 React 应用程序。 如何将 razzle 集成到其中?

这事有进一步更新吗?

我有同样的问题,应该有一些关于这个的教程。

有什么进展吗?

我也有这方面的问题。 我有一个完美运行的 CRA 应用程序并尝试通过将index.tsx重命名为client.tsx并将服务器添加到index.ts来迁移到 Razzle,但是当我运行razzle start似乎它试图将服务器代码与客户端捆绑在一起并抛出类似的错误

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

任何人都有相同的或有任何想法如何解决这个问题?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

pseudo-su picture pseudo-su  ·  3评论

piersolenski picture piersolenski  ·  4评论

JacopKane picture JacopKane  ·  3评论

sebmor picture sebmor  ·  4评论

charlie632 picture charlie632  ·  4评论