如果从某个地方导入{Something},那么require()等效于'

时间:2016-11-22 09:06:18

标签: javascript reactjs import ecmascript-6 require

我遇到需要使用require()代替es6 import的情况。

目前我的导入如下: import { Footer } from 'LoginComponents'

LoginComponents的默认导出为Content,其他导出如Footer。我需要构建一个require语句,它只能让我尝试require('LoginComponents').Footer的页脚,显然这是无效的。

这是页脚导出:

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

2 个答案:

答案 0 :(得分:1)

我认为你不小心想要一个包而不是一个本地文件

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

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

无论哪种方式,require(path).property没有任何问题 - 记住require只是一个普通函数,具有正常的返回值(一个对象),所以没有任何神奇的东西可以继续使用它。访问其返回值的属性是完全正常的。

答案 1 :(得分:0)

如果您正在尝试需要一个包,那么您可以直接在require.Else中调用包名称,您需要提供该文件的路径。

<script type="text/javascript">

        {% if session_cookie_age %}

            //your code

        {% endif %}

</script>

要求只是一个功能,并将内容作为对象返回,因此我们可以访问属性usng&#39;。&#39;