Webpack、Google API 和 MarkerWithLabelthis.setValues 不是函数- 对异步库的依赖

问题描述

使用 MarkerWithLabel 加载 Google Api 时出错。我认为这是因为 markerwithlable.js 正在之前加载,但必须在之后 Google Api 加载。

-- 我的问题是,如何在导入 MarkerWithLabel 之前指示 webpack 依赖 Google Api

在此先感谢您的帮助!

背景/webpack 设置:

我正在从 RequireJS 迁移到 webpack,无法添加任何库来处理 Google 地图。这意味着我现在必须处理本地 .js 文件和远程 API。

在 RequireJS 中,它很容易通过对匀场的依赖来解决

require.config({
    // ...
    paths: {
        // ...
        gMaps: "//maps.googleapis.com/maps/api/js?key=GOOGLEKEY&?v=3.33&libraries=geometry,places",MarkerWithLabel: "../libs/markerwithlabel",// ...
    },shim: {
        // ...
        MarkerWithLabel: {
            deps: ["gMaps"],exports: "MarkerWithLabel"
        },// ...
    }
});

我最后一次使用 webpack 的尝试:

// stuff.component.ts
import 'gMaps';
import * as MarkerWithLabel from 'markerWithLabel';

class StuffComponent {
    //...
}

module.exports = {
    // ...
    resolve: {
        extensions: ['.webpack.js','.web.js','.ts','.tsx','.js'],alias: {
            'markerWithLabel': path.resolve(__dirname,'src/js/libs/markerwithlabel.js'),}
    },externalsType: 'script',externals: {
        gMaps: ['https://maps.googleapis.com/maps/api/js?key=GOOGLEKEY&?v=3.33&libraries=geometry,places','google','maps'],},// ...
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)