2016-11-22 47 views
1

我進入了需要使用require()而不是es6 import的情況。require()相當於從某處導入{Something}

目前我進口看起來像這樣: import { Footer } from 'LoginComponents'

LoginComponents有Content默認出口和額外出口像Footer。我需要構建一個只需獲取頁腳的require語句,我試過require('LoginComponents').Footer,顯然這是無效的。

這是頁腳出口:

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

你得到的錯誤是什麼,並且是你創建的loginComponents,或者它是一個npm包 –

回答

1

我想你不小心嘗試需要一個包,而不是一個本地文件

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

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

不管怎樣,我們有什麼錯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 

要求只是一個函數,並將內容作爲對象返回,因此我們可以訪問屬性usng'。'

相關問題