私はwebpackでbabel/ES6を使用しています。私は2つの異なる場所で - 束の機能をエクスポートする - 同じ 'アクション'ファイルをインポートしています。それがあったのでApp.jsが働い 理由だったES6を使用しているとき、インポートされた関数はどのようにして別のファイルで定義されていないのですか?
export function test() { ... }
export function test2() { ... }
App.js
import actions from './actions'
class App extends React.Component { ... }
console.log(actions); //<-------- Object{test:function,test2:function)
export default connect((state) => { ... },actions)(App);
編集actions.js
:一つの場所で、それはモジュール、他のundefined
を返します。実際にはimport * as actions
を以下のように使用していますが、例では正しく入力しませんでした。
NestedComponent.js
これは、webpackがモジュール/ファイルを定義する順序に関連していますか?
NestedComponentと同じディレクトリにアクションが存在していますか? –
いいえ実際にはセットアップのネストされたフォルダにありますが、パスをダブルチェックしました。エディタとbabelコンパイラが両方とも変更すれば文句を言います(良い意味です)。 – Flion
@Felix Kingは正しいです。アクションファイルでデフォルトのエクスポートを使用していないので、名前付きインポートを使用していない限り、そこから何かをインポートすることはできません。 –