2016-07-26 27 views
1

zu verwenden Ich erstelle eine progressive Web-app mit react und Webpack. Ich habe alles erfolgreich konfiguriert und kann die Entwicklung starten. Jetzt habe ich viele Hilfsfunktionen wie:Nicht in der Lage, benutzerdefinierte Funktionen in Webpack mit require

function getCookie(name) { 
     var start = document.cookie.indexOf(name + "="); 
     var len = start + name.length + 1; 
     if ((!start) && (name != document.cookie.substring(0, name.length))) { 
     return null; 
     } 
     if (start == -1) return null; 
     var end = document.cookie.indexOf(';', len); 
     if (end == -1) end = document.cookie.length; 
     return unescape(document.cookie.substring(len, end)); 
} 

Also, für diese i eine andere js-Datei erstellt haben: helper.jsx. Nun enthält meine helper.js die obige Funktion wie sie ist. Jetzt möchte ich die obige Funktion in einer anderen Reaktionskomponente verwenden.

ich in meiner Komponente erforderlich mache:

var helper = require("helper"); 

und versuchen, die Funktion aufzurufen, mit:

helper.getCookie('user'); 

Was mich helper.getCookie schenkt ist kein definiert. Bitte sagen Sie mir, wie kann ich einen Helfer js erstellen und die Funktionen von Helfer js in meinen reagierenden Komponenten verwenden.

+0

http://stackoverflow.com/questions/5311334/what-is-the-purpose-of-node-js-module-exports -and-how-do-you-use-it – chardy

Antwort

5

Sie benötigen die Funktion module.exports exportieren:

function getCookie(name) { 
     var start = document.cookie.indexOf(name + "="); 
     var len = start + name.length + 1; 
     if ((!start) && (name != document.cookie.substring(0, name.length))) { 
     return null; 
     } 
     if (start == -1) return null; 
     var end = document.cookie.indexOf(';', len); 
     if (end == -1) end = document.cookie.length; 
     return unescape(document.cookie.substring(len, end)); 
} 

module.exports = { 
    getCookie: getCookie 
}; 
+0

Danke Ori, nur eine andere Frage mit einem anderen Kontext. Ich mache einige Ajax Aufrufe in meinem Projekt zu einer PHP-Datei, die in meinem Projekt Bibliotheken Ordner ist. Wie kann ich meine PHP-Dateien im Webpack-Server ausführen lassen? –

+0

Gibt es eine Möglichkeit, die PHP-Dateien im Webpack-Server ausführen zu können? Oder sollte ich das gesamte Projekt in einen anderen Server einbinden, der in einem anderen Port läuft? –

+0

Soweit ich weiß, können Sie PHP-Dateien nicht auf dem Webpack-Dev-Server ausführen, aber ich habe PHP in Äonen nicht berührt. Die zweite Lösung sollte funktionieren, aber Sie müssen CORS auf Ihrem PHP-Server aktivieren, und ich weiß nicht wirklich, wie ich das machen soll. –