require() 等效于 import { Something } from 'somewhere'

require() equivalent if import { Something } from 'somewhere'

我遇到了需要使用 require() 而不是 es6 import.

的情况

目前我的导入看起来像这样: import { Footer } from 'LoginComponents'

LoginComponents 具有 Content 的默认导出和 Footer 等其他导出。我需要构造一个 require 语句,它只获取我试过的页脚 require('LoginComponents').Footer,显然那是无效的。

这是页脚导出:

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

我认为您不小心尝试需要一个包而不是本地文件

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

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

无论哪种方式,require(path).property 都没有错 — 请记住 require 只是一个具有普通 return 值(对象)的普通函数,所以没有什么神奇的事情发生用它。访问其 return 值的 属性 完全没问题。

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

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

Require 只是一个函数,它将 return 内容作为对象,因此我们可以使用 '.' 访问属性