首先在build下面的?webpack.base.conf.js?中和?entry?平級(jí)增加一個(gè)?externals?對(duì)象.
webpack.base.conf.js?
注意修改了build中的文件后需要重新npm run dev.
在單頁(yè)中展示地圖,先給地圖容器一個(gè)寬高,定義一個(gè)id
在mounted時(shí)期(可以訪(fǎng)問(wèn)DOM)調(diào)用api,我的地圖需要的坐標(biāo) 是后端接口返回給我的數(shù)據(jù),
map.vue
對(duì)了,最重要的事,百度地圖需要ak,我是自己注冊(cè)的百度賬號(hào),在百度地圖開(kāi)放平臺(tái) | 百度地圖API SDK | 地圖開(kāi)發(fā)登陸百度賬號(hào),點(diǎn)擊控制臺(tái)自己創(chuàng)建應(yīng)用你會(huì)得到一個(gè)ak,具體步驟網(wǎng)上隨便一搜很多。
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的ak"></script>
將上述代碼引入你的index.html中。
然后我打包發(fā)給我的后端部署上線(xiàn)之后出現(xiàn)問(wèn)題:地圖不顯示,報(bào)錯(cuò)'BMap undefined'
后來(lái)發(fā)現(xiàn)原來(lái)他也需要在他那邊的index.html中引入
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的ak"></script>
然后問(wèn)題就解決了。雖然可能不是最優(yōu)方案,至少顯示地圖了,開(kāi)心。而且我這需求也低,只是地圖的展示。效果如下:
最終效果圖