实际中遇到的问题是地图服务,不是 CDN 资源。 在 html 中引入了
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=token"></script>
在 webpack.base.conf.js 设置了外部资源
externals: {
"BMap": "BMap"
}
当网络正常时:
import BMap from 'BMap'
工作正常
当断网时控制台报错:
Uncaught ReferenceError: BMap is not defined
不仅报错,还阻止了整个 Web APP 运行。用异步模块解析,只要触发 import xxx from 'BMap' 就跪。 import 又只能放在 top level ,没法 try catch 它。怎么才能当网络无法访问 externals 资源时不影响 Web APP 运行呢?比如只是使用地图的部分不加载地图,其它部分保持正常工作
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.