2016-11-22 2 views
1

私はの代わりにrequire()を使用する必要がある状況になりました。「どこか」からのインポート(何か)の場合は、同等です。

現時点では私のインポートは、次のようになります。 import { Footer } from 'LoginComponents'

LoginComponentsをContentのデフォルトのエクスポートとFooterなどの追加の輸出を持っています。私は、私がrequire('LoginComponents').Footerを試したフッタを単独で取得するrequire文を構造化する必要があります。これは明らかに無効です。

この

はフッターの輸出である:私はあなたが誤って代わりにローカルファイル

// require LoginComponents package 
const Footer = require('LoginComponents').Footer 

// require LoginComponent.js local file 
const Footer = require('./LoginComponents').Footer 

いずれかの方法でのパッケージを必要としようとしていると思います

export const Footer =() => (
    <footer>Hello World</footer> 
); 
+0

あなたが取得したloginComponentsは、あなたが作成したエラーまたはnpmパッケージです –

答えて

1

require(path).propertyと間違って何もありません - 覚えていますrequireは通常の戻り値(オブジェクト)を持つ通常の関数なので、それに伴う魔法はありません。その戻り値のプロパティへのアクセスは完全にうまくいきます。

0

パッケージを要求しようとしている場合、require内でパッケージ名を直接呼び出すことができます。ファイルへのパスを与える必要があります。

//if it is package 
var Footer = require('LoginComponents').Footer; 
//else 
var Footer = require('path to login component/LoginComponents').Footer 

Requireは単なる関数であり、内容をオブジェクトとして返します。したがって、usng 'というプロパティにアクセスできます。

関連する問題