古滕贝格:依赖项的“导入”和“常量”的区别

时间:2021-01-06 作者:Marc

我知道什么是;“常量”;“是,我知道”;“导入”;来自php。我阅读了许多教程,发现了两种类型的导入依赖项:

import { useSelect, AsyncModeProvider } from \'@wordpress/data\';
以及

const useSelect = wp.data.useSelect;
const AsyncModeProvider = wp.data.AsyncModeProvider;
两者似乎都起作用了。但是我应该用哪一个呢?

1 个回复
SO网友:Tom J Nowell

import 将从包中导入这些项目。const 只是一个指标,表明一个变量是一个常量,一个无法重新分配的变量。E、 g。const number = 5;.

在本例中,这两行的作用完全相同:

const useSelect = wp.data.useSelect;
const useSelect = window.wp.data.useSelect;
重要的区别在于,如果您在捆绑包中包含了数据包的副本,那么const useSelect = wp.data.useSelect; 它不会使用该数据包,而是使用wp.data 由WordPress加载。就像你写的一样wp.data 在浏览器控制台中,或jQuery(document).ready(...

但是,因为您使用了WP脚本,所以它的Web包设置为不包含预定义列表中的WordPress包,而是使用已加载的版本。它生成一个PHP文件,其中包含用于排队的脚本,生成的捆绑包需要运行这些脚本。

因此,出于您的目的,始终使用import.