我有一个角度计划(角13),在那里我使用传单。在package.json文件中,我有:
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
"leaflet.heat": "^0.2.0",在我的组件中,我通过
import * as L from 'leaflet';一切都很好,L也包括传单绘制和leaflet.heat的类/方法。然而,当我只输入“传单”时,我不明白它们是如何输入到项目中的。我知道传单插件不会输出任何东西,它们只会将它们的内容添加到小册子的L not中。
我只想知道传单插件是如何变得可用的,即使我只导入传单。
发布于 2022-01-18 08:27:40
我猜这些插件在您的package.json中被列为依赖项,所以npm install将加载它们,因为它们是应用程序工作所必需的。
然后插件可能不会输出任何东西,但它们确实扩展了传单类。例如,绘图插件扩展了Control类如下所示:
码
(https://github.com/Leaflet/Leaflet.draw/blob/develop/src/Control.Draw.js)
...
line 5: L.Control.Draw = L.Control.extend({
...因此,您可以在不显式导入任何内容的情况下使用该功能。这就是传单建议实现插件的方式。在他们的文档中,他们提到了Class.extend,但现在这似乎也适用于L.Control ( Handler和Layer)。
参考资料
https://leafletjs.com/examples/extending/extending-1-classes.html
https://stackoverflow.com/questions/70751901
复制相似问题