2016-08-20 2 views
1

로 시작합니다. 저는 React with Rails의 초보자이며 시도하고 있습니다. 현재 라우팅과 함께 일하고 있으며 어디서 잘못 될지 잘 모르겠습니다. 나를 안내 해줘.잡히지 않은 오류 : 모듈 "react"를 찾을 수 없습니다.

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

예, 패키지가 있습니다.json' 파일과 함께 설치하고 반응 노드를 사용하여 반응 노드와 반응 라우터를 설치했습니다. npm i webpack webpack-dev-server babel-core babel-loader babel-preset-es2015 babel을 사용하여 반응 반응 노드 반응 라우터를 저장합니다. -preset-react --save-dev' – Aakanksha

+0

오류 메시지가 너무 많아서 무슨 일이 일어나고 있는지 말할 수 없습니다. 예를 들어, '오류 : 모듈'가져 오기 '를 해결할 수 없습니다.라는 오류 메시지를 게시했습니다. '모듈을 찾을 수 없습니다 '라는 오류와 관련하여 명확하지 않습니다. React와 React Router는 같은'node_modules /'에 있습니다. 맞습니까? – JMM

답변

0

나는 무엇이 문제인지, 무엇을 놓쳤는지를 모른다. 그러나 완전히 새로운 프로젝트에서 npm install react-router --save을 실행했습니다. 나는 내 반응 구성 요소에 import { Link } from 'react-router/lib/Link';을 넣었다. 서버를 다시 시작했는데 잘 할 수있었습니다. 나는 이전 응용 프로그램에서 이러한 동일한 단계를 수행했는데 어떻게 든 나에게 적합하지 않았습니다. 어쨌든, 내가 무엇을 놓쳤는 지 모르지만 문제는 지금 해결되었습니다.

추신 : 저는 이제 이것에 관한 새로운 문제에 직면하고 있습니다.

고맙습니다. :)

0

비슷한 문제가 있지만 "반응"대신 "반응 라우터"가 있습니다. client 디렉토리의 package.json을 확인하십시오. 누락 된 것이 있으면 수동으로 추가하고 해당 디렉토리에서 npm install을 실행하십시오. 그게 저에게이 문제를 해결해주었습니다. 누군가가 언급했듯이 여기에도 몇 가지 다른 이슈가있을 수 있습니다.

내가 루트 프로젝트 디렉토리에서 npm install react-router --save를 실행 생각하지 않는다 레일에 반작용 때문에 주 프로젝트 폴더에 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

관련 문제