将集成ArcGIS JS SDK的SvelteKit项目部署至Vercel遇问题求助
我正在尝试把第一个集成ArcGIS JS SDK的SvelteKit项目部署到Vercel,一直遇到无法解决的问题。这个SDK的使用方式和多数模块不同,我推测这就是问题的根源。本地环境以及执行vercel dev命令时一切正常。
我创建了包含地图的组件,并在+page.svelte中通过以下方式引入:
onMount(async () => { const module = await import("../components/EsriMap.svelte"); EsriMap = module.default; });
最初部署时出现如下错误:
Error: [vite]: Rollup failed to resolve import "@arcgis/core/map" from "/vercel/path0/src/components/EsriMap.svelte".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to build.rollupOptions.external
当我添加以下配置后:
export default defineConfig({ plugins: [sveltekit()], build: { rollupOptions: { external: ['@arcgis/core/map'] } } });
部署无报错,但预览页面无内容显示,控制台出现如下错误:
Uncaught (in promise) TypeError: The specifier “@arcgis/core/map” was a bare specifier, but was not remapped to anything. Relative module specifiers must start with “./”, “../” or “/”.
内容的提问来源于stack exchange,提问作者Danger_Fox

