首页 > 解决方案 > Esri JS Api 4.18 需要 node_models 的 ncp 副本以用于 BUILD 和 START。我需要复制资产以在 storybook.js 中工作吗?

问题描述

要将 ES 模块用于 esri JS Api 4.18,需要 node_modules 的 ncp 副本用于 BUILD 和 START。在 storybook.js 中工作我需要什么以及在哪里复制资产?

复制资产

您需要将 API 的资产(包括样式、图像、字体和本地化文件)从 @arcgis/core/assets 文件夹复制到您的构建文件夹。实现此目的的一种简单方法是配置在构建过程中运行的 NPM 脚本。比如使用npm安装ncp,在package.json中配置一个脚本来复制文件夹。这是一个反应示例:

// 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"
        }
    }

https://developers.arcgis.com/javascript/latest/es-modules/

标签: javascriptesristorybookarcgis-js-api

解决方案


好的,事实证明这很容易。您需要将资产文件 ncp 复制到项目中的公共目录中,并且需要在故事书脚本中引用它。

{
    "scripts": {
       "start-storybook": "npm run copy && start-storybook -s ./public -p 9001"
       "copy": "ncp ./node_modules/@arcgis/core/assets ./public/assets"
    }
}

https://storybook.js.org/docs/react/configure/images-and-assets


推荐阅读