使用不同版本的传单库

Use different versions of leaflet library

我正在使用 React 和其他不同的库开发 Web 应用程序。

我正在使用使用传单库 1.4.0 的 Windy API(天气预报)。

我也想在同一个应用程序中使用传单,但这次使用最新版本 1.7.1。

我按照 Windy API 文档中的描述,使用 CDN 导入传单 1.4.0。

我用npm导入最新版本。

问题是 leaflet 正在创建一个全局变量 L,所以当我导入最新版本的 leaflet 时,API windy 不起作用。

我尝试用别名导入传单,但它并没有改变全局变量的问题。

是否可以更改全局变量的名称? 有什么解决这个问题的建议吗?

谢谢!

您可以使用 L.noConflict() 将旧对象应用于 L 和 returns Leaflet 实例:

console.log(L.version) // 1.4.0
import 'leaflet';
console.log(L.version) // 1.7.1

var leaflet1_7 = L.noConflict();

console.log(L.version) // 1.4.0
console.log(leaflet1_7 ) // 1.7.1

但也可能是 noConflict 没有正常工作,其中存在一些错误。但它们已在 1.8.0-beta.3 和未来几天即将发布的版本中修复。