2016-05-05 4 views

Antwort

2

Vor ja oder nein, schnelle Erinnerung reagiert:

  • Reagieren: Bibliothek UI erstellen
  • Enzym: Bibliothek Reagieren Komponente testen
  • Mocha: Test Framework zum Test auf Node.js. Wie Sie sehen können, um Test auf dem Browser auszuführen, benötigen Sie ein Modul wie jsdom, die ein DOM erstellen, um Tests auszuführen.
  • Babel: Werkzeug JavaScript-Code

Ziel dieses Repository zu kompilieren ist Ihnen ein Beispiel zu geben, wie ein Reagieren Komponente mit Enzyme und Mokka zu testen. Das ist alles.

Durch die Verwendung dieses Repository ohne Änderungen lautet die Antwort nein, da das Paket nur eine Foo Komponente enthält und diese Komponente nicht in einem DOM gerendert wird.

Um das Ergebnis in einem Browser anzuzeigen, müssen Sie diese Komponente in einem DOM mit react-dom rendern.

Beispiel:
bundle.js:

import React, {Component} from 'react'; 
import {render} from 'react-dom'; 
import {Foo} from './src/Foo'; 

render(
    <div> 
    <Foo/> 
    </div> 
    , 
    document.getElementById('root') 
); 

index.html:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <title>Foo component</title> 
    </head> 
    <body> 
     <div id="root"/> 
     <script src="bundle.js"></script> 
    </body> 
</html> 

Aber Sie müssen auch Webpack alle Ihre Dateien und Abhängigkeiten bündeln .
Ich empfehle Ihnen, eine complete article zu lesen, um den vollständigen Prozess zum Kompilieren einer React App zu verstehen. Es stellt Ihnen auch Webpack ein erstaunliches Werkzeug vor, um Ihre Javascript-APP zu bündeln.

+0

In meiner Anwendung versuche ich den gleichen Fall von Enzym Beispiel, das ist es, ich brauche Webpack ... mit browserify + babelify nicht funktioniert –

+0

In einigen Tagen werde ich ein Startkit auf GitHub mit einem vollständigen Beispiel veröffentlichen (Webpack, babel - und ein Testteil mit Karma, Enzym). [Follow me] (https://github.com/LouisBarranqueiro) um benachrichtigt zu werden :) –