在使用Webpack打包JavaScript应用程序时,有时需要从外部CDN加载某些库,而不是将它们打包到最终的bundle中。这可以减少bundle的大小,并利用CDN的缓存优势。对于Google Maps API,你可以通过Webpack的externals
配置来实现这一点。
以下是如何配置Webpack以从外部加载Google Maps API的步骤:
webpack.config.js
)中,添加externals
配置项。这个配置项告诉Webpack在打包时不要包含这些外部依赖。
const path = require('path'); module.exports = { entry: './src/index.js', // 你的入口文件 output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, externals: { googleMapsApi: 'google.maps' // 这里我们告诉Webpack不要打包google.maps对象 } };
<script>
标签从CDN加载Google Maps API。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script> </head> <body> <div id="map"></div> <script src="dist/bundle.js"></script> </body> </html>
请将YOUR_API_KEY
替换为你的实际Google Maps API密钥。
google.maps
对象,Webpack会知道它是一个外部依赖,不会将其打包到bundle中。
document.addEventListener('DOMContentLoaded', function() { const map = new google.maps.Map(document.getElementById('map'), { center: { lat: -34.397, lng: 150.644 }, zoom: 8 }); });
通过这种方式,你可以确保Google Maps API从外部CDN加载,而不是被打包到你的Webpack bundle中。这有助于减少bundle的大小,并利用CDN的缓存优势。
领取专属 10元无门槛券
手把手带您无忧上云