为什么 jQuery-migrate 不直接在代码中替换折旧函数?
Why jQuery-migrate in not replacing depreciated functions directly in the code?
我在一个大项目上使用 jQuery-migrate。我纠正了所有可能的警告,但现在警告在库中。
有些库不再更新,所以我无法更新它们以使其与 jQuery-3.3.1 一起使用。
另外,我不能直接在库中替换折旧函数,因为它会产生错误。
所以我想我会在我的项目中保留 jQuery-migrate。
我的问题是:如果jQuery-migrate能够在调用时更正折旧函数,为什么它不能直接在代码中更正它们?
JavaScript 不适合静态代码分析。
假设您需要替换 foo
函数。
如果调用它的代码很简单:
something.foo();
如果是:
function call(bar, method) {
bar[method]();
}
call(something, "foo");
…如果逻辑需要更复杂,那就更难了。
创建 something.foo
这样它 就存在 如果有任何东西试图在运行时访问它就简单多了。
我在一个大项目上使用 jQuery-migrate。我纠正了所有可能的警告,但现在警告在库中。
有些库不再更新,所以我无法更新它们以使其与 jQuery-3.3.1 一起使用。 另外,我不能直接在库中替换折旧函数,因为它会产生错误。
所以我想我会在我的项目中保留 jQuery-migrate。
我的问题是:如果jQuery-migrate能够在调用时更正折旧函数,为什么它不能直接在代码中更正它们?
JavaScript 不适合静态代码分析。
假设您需要替换 foo
函数。
如果调用它的代码很简单:
something.foo();
如果是:
function call(bar, method) {
bar[method]();
}
call(something, "foo");
…如果逻辑需要更复杂,那就更难了。
创建 something.foo
这样它 就存在 如果有任何东西试图在运行时访问它就简单多了。