从节点模块导入所有功能是不好的做法吗?

Is it bad practise to import all functions from node modules?

我不确定以前是否有人问过这个问题,但我找不到答案,但我想问一下,从 node_module 中导入所有函数在 react(我假设相同的逻辑将适用于 angular 等其他框架,是的,我知道 React 不是一个框架,它是一个库)与仅导入您将要使用的函数(在这两种情况下我们只使用我们想要使用的功能)?

例如,我们可以全部导入并执行此操作

import * as FaIcons from "react-icons/fa";

<FaIcons.FaEnvelopeOpen />

或者像这样只导入我们需要的函数

import { FaEnvelopeOpen } from 'react-icons/fa';

<FaEnvelopeOpen /> 

我倾向于第一种方法,因为它使以后的编辑更容易,但这是不好的做法还是会降低性能?抱歉,如果这是一个明显的答案,我是编程新手,不确定。

是的。就进口而言,这通常被认为是不好的做法。最小化导入的模块可以显着提高性能。虽然您正在处理的模块的大小可能小到只会导致边际性能差异,但处理更大的、动摇的代码库,如 @material-ui/core 可以大大扩大这种差异。如果您有兴趣最大限度地提高导入的性能,我还建议您考虑动态导入必要的代码库。

但是,如上所述,如果包支持抖动,那么这里的导入会受到影响;否则,不会有明显差异。