Rails和React,使用require加载react-typeahead组件

时间:2015-07-16 21:21:14

标签: javascript ruby-on-rails ruby requirejs reactjs

我让React使用react-rails gem处理rails。它正在从反应首页渲染HelloMessage组件就好了。

然后我使用Bower来安装' react-typeahead' (react-typeahead github

var Typeahead = require('react-typeahead').Typeahead;

问题在于require未定义。我已经查看了requirejs-rails和browserify-rails,但第一个要求你停止使用链轮,我无法让第二个工作。

我是新手,我应该如何要求使用这种“反应”类型的'成分

目前我正在使用browserify:

Error: Cannot find module 'react-typeahead' from '/Users/xxx/code/xxx/app/assets/javascripts'
    at /Users/xxx/code/xxx/node_modules/browserify/node_modules/resolve/lib/async.js:46:17

即使我用bower将它安装在该目录中。我已经仔细检查过,它与路径相匹配。

1 个答案:

答案 0 :(得分:0)

在您的require语句中,如果它不在同一个文件夹中,您需要输入要导入的库的确切路径,例如:

Error: Cannot find module 'react-typeahead' from '/Users/xxx/code/xxx/app/assets/javascripts'
at /Users/xxx/code/xxx/node_modules/browserify/node_modules/resolve/lib/async.js:46:17

注意它在app / assets / javascripts中的查找方式,将其指向node_modules文件夹。