2016-08-20 12 views
1

で始まります、私はReact with Railsの初心者であり、物事を試しています。私は現在ルーティングと一緒に作業しており、どこが間違っているのか分かりません。私を案内してください。未知のエラー:モジュール「反応する」を見つけることができません

私はUserWorld.jsxファイルのコンテナフォルダを持っています。その内容は次のとおりです。次のように

import React, { PropTypes } from 'react'; 
import User from '../containers/User'; 

// Simple example of a React "smart" component 
export default class UserWorld extends React.Component { 
    constructor(props, context) { 
    super(props, context); 
    // How to set initial state in ES6 class syntax 
    // https://facebook.github.io/react/docs/reusable-components.html#es6-classes 
    this.state = { users: this.props.data 
    }; 
    } 
    render() { 
    var userNodes = this.state.users.map(function(user) { 
     return (
      <User key={user.id} first_name={user.first_name} last_name={user.last_name} email={user.email} city={user.city} address={user.address} /> 
    ); 
    }); 
    return (
     <table> 
     <thead> 
      <tr> 
      <td>First Name</td> 
      <td>Last Name</td> 
      <td>Email</td> 
      <td>Address</td> 
      <td>City</td> 
      </tr> 
     </thead> 
     <tbody> 
      {userNodes} 
     </tbody> 
     </table> 
    ); 
    } 
} 

さて、私はリンクを追加したいと私は

import { Router, Route, Link, browserHistory, IndexRoute } from 'react-router'

含めてだが、これは私のコンソールにエラーを与える:

Uncaught Error: Cannot find module "react" 
Exception in rendering! 
message: Could not find component registered with name UserWorldApp. Registered component names include [ HelloWorldApp ]. Maybe you forgot to register the component? 

ここで何が起こっているのか分かりません。誰かがここで私を助けることができたら、私は義務づけられます。また、私は同じのための参照を取得することができます。私はすべての周りで発見された異なる構文の問題に直面しています。

更新:

私はエラーがnode_modulesフォルダに反応し、ルータをフォルダにRouter.jsでvar _react = require('react');ラインに表示されていることがわかります。

私はコンソールでこれを取得する:

ERROR in ../~/react-router/lib/Router.js 
18:03:09 client.1 | Module not found: Error: Cannot resolve module 'imports' in /Users/c193/Documents/React/test-react-on-rails/node_modules/react-router/lib 
18:03:09 client.1 | @ ../~/react-router/lib/Router.js 19:13-29 

P.Sを:私が読んですべてのドキュメントとの記事は私が理解するためにあまりにも技術的なものと私はビットとその作品を理解しています。私が始めてから2週間ほど経っています。

+0

はあなたがreact' 'インストールしましたか?あなたは 'package.json'ファイルを持っていますか? – JMM

+0

はい、私は 'packageを持っています。json'ファイルと私は 'npmを使って反応と反応ルータをインストールしました。反応する反応反応ルータ - セーブ'とwebpackを使って 'npm i webpack webpack-dev-server babel-core babel-loader babel-preset-es2015 babel -preset-react --save-dev' – Aakanksha

+0

あなたは非常に多くのエラーメッセージが出ているので何が起こっているのかを言うのは難しいです。たとえば、「エラー:モジュール 'imports'を解決できません」というエラーメッセージが表示されました。それが 'モジュールが見つかりません 'というエラーにどのように関連するのかは明らかではありません。 ReactとReact Routerは同じ 'node_modules /'にあります。 – JMM

答えて

0

問題が何であったか、私が逃したものはわかりません。しかし全く新しいプロジェクトではnpm install react-router --saveを実行しました。私はimport { Link } from 'react-router/lib/Link';を反応成分に入れました。サーバーを再起動して、私は行きました。私は以前のアプリでも同じことをやっていましたが、何とか私のために働かなかったのです。とにかく、私は何が欠けていたのか分からないが、問題は今解決されている。

P.S:私は今これに関する新しい問題に直面しており、同じことについて新しい質問を開きます。

どうもありがとうございます。 :)

0

私は同様の問題を抱えていましたが、「反応する」の代わりに「反応ルータ」を使用しました。 clientディレクトリにあるpackage.jsonを確認し、見つからない場合は手動で追加し、そのディレクトリからnpm installを実行します。それは私のために問題を解決しましたが、誰かがコメントしたように、あなたはおそらくここにいくつかの他の問題もあるでしょう。

私はルートプロジェクトディレクトリからnpm install react-router --saveを実行しているとは思わないがRailsの上で反応するので、メインプロジェクトフォルダにnode_modulesディレクトリ内唯一のものは.yarn.integrityファイルである必要がありますので、糸を使用し、良いアイデアです。 Reactに必要なものは、package.jsonファイルとnode_modulesディレクトリのclientフォルダにある必要があります。そこに何かがないかどうか確認してください。

は、ここで彼らのclient/package.jsonはチュートリアルで次のようになります。https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/client/package.json

関連する問題