问题描述
使用 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 (将#修改为@)