javascript import von '/Ordner' mit index.js
Ich habe bemerkt, ein paar Fälle, wo ich gesehen habe, so etwas wie die folgenden:
JS:
///reducers/reducer1.js
export default function reducer1(state = {}, action){
//etc...
}
///reducers/reducer2.js
export default function reducer2(state = {}, action){
//etc...
}
///reducers/index.js
import { combineReducers } from 'redux';
import reducer1 from './reducer1';
import reducer2 from './reducer2';
export default combineReducers({
reducer1,
reducer2
})
///store.js
import masterReducer from './reducers';
export default function makeStore(){
//etc...
}
Sehen, dass die Letzte "Datei", in dem wir rufen import masterReducer from './reducers'
- einige Menschen scheinen zu glauben, dies sollte den import der default export
von der index.js Datei.
Ist das eigentlich Teil der Spezifikation? - meine interpretation/Frage ist, dass dies das Ergebnis vieler Leute mit WebPack v1, die übersetzt import
Aussagen in CommonJS-Stil requires
Aussagen? Oder wird dieser Bruch in der WebPack v2 mit "offiziellen" import
/export
unterstützen?
- Mit webpack ich bin mir nicht sicher, aber wenn Sie verwenden babel sollte es transpile nach unten zu verlangen Erklärungen
- genial-name (einer meiner Lieblingsserien) - sind Sie sicher, dass das der Fall ist, wenn Sie die babel-preset-es2015-native-Modul-Paket (Voreinstellung ist 'es2015-native-Module - die eine empfohlen, dass Sie verwenden, um Unterstützung zu bekommen, um den Baum zu schütteln w/
import
Aussagen mit WebPack 2)? - Es ist nicht zusammengestellt, aber Sie können sehen, einige verschiedene export - /import-Methoden in meinem Spiele-repo. Ich bin immer noch lernen, mich transpiling
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Wie die Modul-IDS (
'./reducers'
in deinem Fall) sind entschlossen, die eigentlichen Module ist Links, um die Umsetzung der Modul-lade - /bundler, es ist nicht specificed von ES6. Und es scheint nicht zu sein, angegeben in CommonJs entweder.Dies ist nur, wie man Knoten macht es - wenn verlangen ein Verzeichnis, es ist
index.js
- Datei verwendet werden. Bundlers wie browserify oder webpack folgte diesem übereinkommen (für compat Gründen).index.js
.