您如何在 Rails 应用程序中引用第 3 方 React 组件?
How do you reference 3rd party react components in a Rails app?
我正在使用 react-rails gem. This means all assets flow through the rails asset pipeline. In order to access 3rd party javascript libraries, I've been taking advantage of rails-assets.org 构建一个应用程序,它将 javascript 软件包从 bower 捆绑到您的 rails 环境中。大多数包都可以直接在您的 javascript 代码中调用。
所以如果你添加包,使用 marked markdown 库,你可以像这样包含它:
gem 'rails-assets-marked', source: 'https://rails-assets.org'
然后可以从 rails 应用中的任何 js 文件轻松调用它,例如:
console.log(marked('I am using __markdown__.'));
但是,你如何使用不是函数而是反应组件的包?在节点应用程序中,您将像下面这样使用 require() 。这是 react-clipboard:
的示例
var Clipboard = require("react-clipboard");
var App = React.createClass({
render: function() {
return (
<div>
<Clipboard value='some value' onCopy={some function} />
</div>
);
},
但是,您如何在 Rails 应用程序中完成此操作?
即使包包含在 rails 资产管道中,反应组件剪贴板在 JSX 中不可用。如何使它可用?
无法仅使用 rails 直接完成此操作。
为了能够使用 require("react-clipboard")
,一种解决方案(侵入性较小)是结合使用 rails、react-rails 和 browserify 如此处解释:
http://collectiveidea.com/blog/archives/2016/04/13/rails-react-npm-without-the-pain/
这里
https://gist.github.com/oelmekki/c78cfc8ed1bba0da8cee
我没有重新粘贴整个代码示例,因为它相当长并且将来容易更改
我正在使用 react-rails gem. This means all assets flow through the rails asset pipeline. In order to access 3rd party javascript libraries, I've been taking advantage of rails-assets.org 构建一个应用程序,它将 javascript 软件包从 bower 捆绑到您的 rails 环境中。大多数包都可以直接在您的 javascript 代码中调用。
所以如果你添加包,使用 marked markdown 库,你可以像这样包含它:
gem 'rails-assets-marked', source: 'https://rails-assets.org'
然后可以从 rails 应用中的任何 js 文件轻松调用它,例如:
console.log(marked('I am using __markdown__.'));
但是,你如何使用不是函数而是反应组件的包?在节点应用程序中,您将像下面这样使用 require() 。这是 react-clipboard:
的示例var Clipboard = require("react-clipboard");
var App = React.createClass({
render: function() {
return (
<div>
<Clipboard value='some value' onCopy={some function} />
</div>
);
},
但是,您如何在 Rails 应用程序中完成此操作?
即使包包含在 rails 资产管道中,反应组件剪贴板在 JSX 中不可用。如何使它可用?
无法仅使用 rails 直接完成此操作。
为了能够使用 require("react-clipboard")
,一种解决方案(侵入性较小)是结合使用 rails、react-rails 和 browserify 如此处解释:
http://collectiveidea.com/blog/archives/2016/04/13/rails-react-npm-without-the-pain/
这里
https://gist.github.com/oelmekki/c78cfc8ed1bba0da8cee
我没有重新粘贴整个代码示例,因为它相当长并且将来容易更改