我正在使用Mapkitjs创建地图,它是通过window对象初始化的,在服务器上我看到错误
TypeError: Cannot read property 'init' of undefined如何将脚本添加到服务器中以修复该错误?我试过了
const win = domino.createWindow(template);
const script = win.document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js';
win.document.body.appendChild(script);但它不起作用
发布于 2020-07-23 18:05:44
只需绕过服务器端,因为它不支持与DOM相关的东西。
示例:
import { isPlatformBrowser } from '@angular/common';
import { Inject, PLATFORM_ID } from '@angular/core';
...
isBrowser: boolean;
constructor(
@Inject(PLATFORM_ID) private platformId
) {
this.isBrowser = isPlatformBrowser(this.platformId);
}
...
if (this.isBrowser) {
// Put your code here
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js';
document.body.appendChild(script);
}
https://stackoverflow.com/questions/63050951
复制相似问题