如何在 Vue js 中使用 arcgis js

问题描述

arcgis的docs中有几个例子,但是我不能正常使用。当我从 arcgis 导入 Map 时,如 example 所示:

import Map from '@arcgis/Map'

它在浏览器中出错,没有找到像这样的 ersi

enter image description here

为什么它会尝试从资产下载文件

解决方法

使用带有 ES 模块的 ArcGIS JS API,您需要将 @arcgis/core/assets 复制到构建目录。

这可以使用 ncp npm 模块和设置 npm 脚本来完成。

// package.json
{
    "script": {
        "start": "npm run copy && react-scripts start","build": "npm run copy && react-scripts build","copy": "ncp ./node_modules/@arcgis/core/assets ./public/assets"
    }
}

这是 ArcGIS JS API 文档列出的方法。 https://developers.arcgis.com/javascript/latest/es-modules/

或者,如果您使用 Webpack,您也可以使用 copy-webpack-plugin 来完成它。 https://www.npmjs.com/package/copy-webpack-plugin 然后在您的 webpack.config.js

const CopyWebpackPlugin = require('copy-webpack-plugin');
plugins: [
    new CopyWebpackPlugin([
        { from: './node_modules/@arcgis/core/assets',to: './public/assets' },]
  ],