首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角或webpack两次加载传单库。

角或webpack两次加载传单库。
EN

Stack Overflow用户
提问于 2018-03-26 16:32:55
回答 1查看 355关注 0票数 0

有装载传单和它的一个插件:

代码语言:javascript
复制
npm i leaflet
npm i @types/leaflet
npm i leaflet-minimap

并将它们包含在.angular-cli.json的脚本中。

代码语言:javascript
复制
  "scripts": [
    "../src/assets/js/break-on.js",
    "../node_modules/leaflet/dist/leaflet.js",
    "../node_modules/leaflet-minimap/src/Control.MiniMap.js",

引用传单库重新加载整个src文件,这将覆盖全局L对象上的插件。

因此,在初始化时:

L.control是通过传单建立的,然后通过微图插件确保L.control.minimap

然后在代码中

代码语言:javascript
复制
import * as L from "leaflet";

在那之后

代码语言:javascript
复制
L.control.minimap

未定义

我不确定这是一个角的,角-cli,webpack或传单的问题。

我已经检查过并初始化了两次leaflet.js源文件,第二次这样做的是这一行--为什么这不仅仅是类型??

代码语言:javascript
复制
import * as L from "leaflet";

ng -v =>

代码语言:javascript
复制
Angular CLI: 1.7.3
Node: 8.10.0
OS: win32 x64
Angular: 5.2.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.3
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0
leaflet: 1.3.1

第一个源是scripts.bundle,第二个源是vendor.bundle

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-27 12:57:36

修改全局L变量的插件,在本例中,您必须将整个传单模块导入L,然后导入插件库以避免副作用。以下摘自传单路径转换示例的片段说明了这一点:

代码语言:javascript
复制
import { Component } from '@angular/core';

// Import Leaflet into L 
import * as L from 'leaflet';

// Import the plugin libraries so they will modify L
import 'leaflet-path-transform';
import 'leaflet-path-drag';

@Component({
...

摘自:https://www.asymmetrik.com/ngx-leaflet-and-leaflet-plugins/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49496358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档