1

我正在创建一个新的 rails6 应用程序,我需要在这个 rails 应用程序内托管多个 Reactjs 应用程序。

所以我将有一个基于 React 的“管理”部分。在面向客户的网站上,它将是常规的 rails erb/html 模板,但我有一个区域需要做出反应。

我怎样才能有多个 Reactjs 应用程序也可以在彼此之间共享组件?

4

2 回答 2

0

我怎样才能有多个 Reactjs 应用程序也可以在彼此之间共享组件?

您可以使用Bit允许您在项目之间共享组件的包。

引用自文档:

Bit 可以轻松地在任何规模的项目和应用程序之间共享和管理组件。它使您可以跨项目重用各个组件。

有关详细信息,请参阅文档GitHub 存储库

于 2019-08-21T06:15:51.247 回答
0

有几种方法可以做到这一点,我个人使用这个。

我目前正在进行的项目也是基于前端erb和使用ReactJS.

如果你的应用不支持 webpack,那么建议安装它。

1) 安装gem 'webpacker'

同时更新咖啡轨,用于 rails6。gem 'coffee-rails', '~> 5.0.0'

2)bundle install

3)bundle exec rails webpacker:install

4)bundle exec rails webpacker:install:react

Viola:Webpacker 现在支持 react.js

安装完成后会看到app/javascript/packs/application.js & hello_react.jsx

像往常一样创建路由和控制器,只要确保在下面创建和使用特定的布局app/views/layouts/admin.html.erb

# sample - controllers
class AdminController < ApplicationController
    layout 'admin'
end

class SampleController < AdminController
   def index
   end
end

# create routes for this action!

# view/layouts/admin.html.erb
<head>
  <%= javascript_pack_tag 'application' %>
</head>

毕竟,检查浏览器控制台它将被记录Hello World from Webpacker

app/javascript/packs/application.js

其他一切作为默认npm安装等。

使用 webpack 启动 rails 服务器

rails s & ./bin/webpack-dev-server

于 2019-08-22T01:17:41.863 回答