2017-02-24 2 views
1

Ich würde gerne alle magischen Zahlen in meinem Projekt entfernen, also denke ich, importieren eine Konstante, wo sie sein müssen, ist eine großartige Idee.Wo kann man einige Konstanten in ein Projekt einführen?

Siehe meine ständige Erklärung unten,

export default { validation: validation }; 

const validation = { 
    password: 6, 
    email: /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
}; 

aber wenn ich versuche, die konstant in eine Komponente I einen Importfehler erhalten zu importieren, die das Modell angeben konnte nicht gefunden werden.

Inside my Komponente,

import Ember from 'ember'; 
import { validation } from '../../../../config/constants'; 

export default Ember.Component.extend({ 
    classNames: ['login-panel'], 
    // ... 
} 

Meine Frage ist, wo ein guter Ort, um diese Art von Konstanten zu speichern und wie in es an der richtigen Stelle zu importieren?

Antwort

1

util-Datei erstellen, indem ember g util constants ausgeführt und umfassen Konfiguration und wo müssen Sie es importieren,

utils/constants.js

export default { validation: validation }; 

const validation = { 
    password: 6, 
    email: /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
}; 

wie unten importieren,

import { validation } from 'app-name/utils/constants'; 
+0

Ich habe keine Fehler beim Importieren des utils. Aber wenn ich versuche, auf den Wert zuzugreifen, habe ich 'Uncaught TypeError: Kann Eigenschaft 'Passwort' von undefined nicht lesen ' –

+0

Ich habe auch versucht, die importierte 'Validierung' von 'init' Callback zu protokollieren, die' undefined' ist. –

+0

Ich habe versucht, die Art des Exports zu einigen wie Code am Ende der Frage zu ändern. 'init'hook druckt das' dict' aber wenn ich versuche, auf 'validation' zuzugreifen, zeigt es' Kann Eigenschaft 'password' von undefined nicht lesen. –

Verwandte Themen