对不起,如果这是不恰当的问题,
我的项目由 CRA 创建并使用 Express.js 作为后端。
似乎开始的唯一方法是根据文档创建新的 razzle 应用程序?
如果我只想将它应用到我当前的项目中,我该怎么办?
我不确定这是否可能..除非我重写我们的应用程序
我自己现在正在经历这个。
我通过以下方式设置了 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-部署等)
嗯,谢谢你的回答。 还是不知道怎么弄
@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
任何人都有相同的或有任何想法如何解决这个问题?
最有用的评论
我有同样的问题。 我创建了一个自定义 React 应用程序。 如何将 razzle 集成到其中?