如果 import Something from 'somewhere' 等价于 require()
Posted
技术标签:
【中文标题】如果 import Something from \'somewhere\' 等价于 require()【英文标题】:require() equivalent if import Something from 'somewhere'如果 import Something from 'somewhere' 等价于 require() 【发布时间】:2017-04-05 21:09:00 【问题描述】:我遇到了需要使用 require()
而不是 es6 import
的情况。
目前我的导入如下所示:
import Footer from 'LoginComponents'
LoginComponents 具有Content
的默认导出和Footer
等附加导出。我需要构建一个仅获取 Footer 我尝试过 require('LoginComponents').Footer
的 require 语句,显然这是无效的。
这是页脚导出:
export const Footer = () => (
<footer>Hello World</footer>
);
【问题讨论】:
你得到的错误是什么,是你创建的 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
只是一个具有正常返回值(一个对象)的普通函数,所以它没有什么神奇之处。访问其返回值的属性非常好。
【讨论】:
【参考方案2】:如果你想要一个包,那么你可以直接在 require 中调用包名。否则你需要给出文件的路径。
//if it is package
var Footer = require('LoginComponents').Footer;
//else
var Footer = require('path to login component/LoginComponents').Footer
Require 只是一个函数,会将内容作为对象返回,因此我们可以使用 '.' 访问属性
【讨论】:
以上是关于如果 import Something from 'somewhere' 等价于 require()的主要内容,如果未能解决你的问题,请参考以下文章
Failed to set MokListRT: Invalid Parameter Something as gone seriously wrong: import_mok_state() fai
Failed to set MokListRT: Invalid Parameter Something as gone seriously wrong: import_mok_state() fai
2023-01-09:以下go语言代码输出什么?A:+Inf; B:zero; C:something else; D:doesn‘t compile。 package main import (