Joz*_*zef 2 leaflet angular-universal angular
是否可以将 Leaflet 与 Angular/Universal 一起使用?如何避免在服务器内构建Leaflet?
npm run build:prod生成dist文件夹后。但是当我运行时node server.js出现以下错误:
var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || 超时延迟;窗口未定义。
经过几个小时的搜索,我找到了解决方案。您需要使用具有定制服务的Leaflet。
传单.service.ts
import { Injectable, PLATFORM_ID, Inject } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
@Injectable()
export class LeafletService {
public L = null;
constructor(@Inject(PLATFORM_ID) private platformId: Object) {
if (isPlatformBrowser(platformId)) {
this.L = require('leaflet');
}
}
}
Run Code Online (Sandbox Code Playgroud)
地图组件.ts
constructor (
private leafletService: LeafletService
) {}
ngAfterViewInit() {
...
this.leafletService.L.map('map').setView([51.505, -0.09], 13);
...
}
Run Code Online (Sandbox Code Playgroud)
GitHub上也有一个例子
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |