YUI3 - 创建全局变量以避免使用 .use(..);

YUI3 - create global variable for avoid using .use(...);

本文关键字:use 创建 全局变量 YUI3      更新时间:2023-09-26

>我成功地将我的页面从 YUI2 迁移到 YUI3,在升级时,我只使用 YUI3 的动态库加载,包括yui-min.js和使用YUI().use(...),但现在我想删除本地的 YUI2 JS,并在本地添加 YUI3。

我创建了一个全局变量var Y = YUI().use('*',function(Y){});并将yui-min.js更改为yui-core-min.js并添加了我想要使用的库,并且它可以很好地更改Y instead YUI().

Y.use('datatable','datasource', function(Y){
    ...
    fcTable = new Y.DataTable(...);
});

但我想知道我是否只能在第一次调用 Y.use(...) 并且只能使用 Global Y 变量,例如:

    ...
    fcTable = new Y.DataTable(...);

我认为这可能会使加载速度更快,推荐吗?

谢谢 4 你的时间;)

由于当前不在页面上的模块的use()是异步操作,因此您正在设置争用条件。 忽略这一点,这是可能的,是的。

Y.use('datatable');

将使Y.DataTable在模块解析并附加时全局可用。 唯一的麻烦是你不能保证什么时候会这样。 这就是use()回调的原因。

如果所有模块依赖项都已经静态地存在于页面上(在