从节点模块导入所有功能是不好的做法吗?
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
可以大大扩大这种差异。如果您有兴趣最大限度地提高导入的性能,我还建议您考虑动态导入必要的代码库。
但是,如上所述,如果包支持抖动,那么这里的导入会受到影响;否则,不会有明显差异。
我不确定以前是否有人问过这个问题,但我找不到答案,但我想问一下,从 node_module
中导入所有函数在 react
(我假设相同的逻辑将适用于 angular 等其他框架,是的,我知道 React 不是一个框架,它是一个库)与仅导入您将要使用的函数(在这两种情况下我们只使用我们想要使用的功能)?
例如,我们可以全部导入并执行此操作
import * as FaIcons from "react-icons/fa";
<FaIcons.FaEnvelopeOpen />
或者像这样只导入我们需要的函数
import { FaEnvelopeOpen } from 'react-icons/fa';
<FaEnvelopeOpen />
我倾向于第一种方法,因为它使以后的编辑更容易,但这是不好的做法还是会降低性能?抱歉,如果这是一个明显的答案,我是编程新手,不确定。
是的。就进口而言,这通常被认为是不好的做法。最小化导入的模块可以显着提高性能。虽然您正在处理的模块的大小可能小到只会导致边际性能差异,但处理更大的、动摇的代码库,如 @material-ui/core
可以大大扩大这种差异。如果您有兴趣最大限度地提高导入的性能,我还建议您考虑动态导入必要的代码库。
但是,如上所述,如果包支持抖动,那么这里的导入会受到影响;否则,不会有明显差异。