2016-07-26 11 views
0

Hinweis lesen: Ich habe eine Git-Repo so ein https://github.com/giovannicode/formsy-import-testFehler beim Versuch, formsy-react zu importieren. Kann nicht Eigentum ‚Reagieren‘ undefinierten

das Problem replizieren kann ich das verwenden versuchen formsy reagiert Bibliothek nach einem js Projekt reagieren.

Aber ich habe Probleme beim Importieren der Datei. Ich bin neu in Webpack und ES6, also bin ich mir nicht sicher, ob ich etwas Wichtiges vermisse. Hier ist meine .babelrc Datei:

{ 
"presets": [ 
"es2015", "react" 
] 
} 

Hier ist meine webpack.config.js Datei:

var path = require("path"); 

module.exports = { 
    resolve: { 
    extensions: ['', '.js', '.jsx'], 
    }, 
    //externals: 'react', 
    entry: { 
    'app': './app.jsx', 
    }, 
    output: { 
    path: __dirname, 
    filename: "[name].js" 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx$/, 
     include: __dirname, 
     loader: "babel-loader" 
     }, 
    ] 
    } 
} 

Und hier ist meine app.jsx Datei:

import React from 'react'; 
import ReactDOM from 'react-dom'; 

import {Formsy} from 'formsy-react'; 

var CommentBox = React.createClass({ 
    render: function() { 
    return (
     <div className="commentBox"> 
     Hello, world! I am a CommentBox. 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(
    <CommentBox />, 
    document.getElementById('react-content') 
); 

Wenn ich Kommentieren Sie den formsy-react-Import, die App wird gut funktionieren. Aber wenn ich den Import hinzufügen, erhalte ich die Folgefehler im Browser:

Uncaught TypeError: Cannot read property 'React' of undefined 

Die App ohne Fehler durch webpack kompilieren aber so im nicht sicher, was los ist.

Hinweis: Ich habe ein Git-Repo so man das Problem https://github.com/giovannicode/formsy-import-test

Antwort

0

Sie versuchen, replizieren können Abhängigkeiten auf zwei Arten zu importieren,

Modul Import von ES6 und

import Formsy from 'forms-react'

und Laden des Moduls mit erfordert

var React = require('react');

Code beobachten möchten Sie wahrscheinlich ES6 Syntax

import React from 'react' 
import Formsy from 'forms-react' 
+0

Hey Alejandro danke für die Antwort verwenden. Ich habe versucht, was Sie vorgeschlagen haben, aber ich habe immer noch den gleichen Fehler. Ich habe es auch beide mit der 'var x = require ('' x ')' Syntax versucht, aber ich habe immer noch den gleichen Fehler. –

+0

Ok, zuerst denke ich, dass Sie bereits React Abhängigkeiten über NPM installiert haben, für die Verwendung von Webpack benötigen Sie ein Einstiegspunkt, eine Datei, die normalerweise "index.js" genannt wird. Also sollten Sie in Ihrem 'entry {}' Objekt auf index.js (Einstiegspunkt) verweisen zB: 'entry: { './app/index. js' } ' Sie können viele Einstiegspunkte haben, aber stellen Sie sicher, dass Sie die Array-Syntax ' Eintrag haben. [ 'Datei', 'anotherFile'] ' // Eintrag Datei für Web-Pack ' Import React von 'reagieren' ReactDOM importieren von 'read-dom' Routen importieren von './config/routes' ReactDOM.render ( Routen, Dokument.getElementById ('app') ) ' – Alejandro

+0

Sie können auch reagieren Apps ohne Konfiguration erstellen, wenn Sie seine erstaunliche lernen https://facebook.github.io/react/blog/2016/07/22/create- apps-with-no-configuration.html – Alejandro