【问题标题】:Storybook with craco - call a different verson of react-scriptsStorybook with craco - 调用不同版本的 react-scripts
【发布时间】:2020-07-26 08:34:16
【问题描述】:

Storybook 当前调用 react-scripts。但是,我已经用craco 覆盖了 CRA 配置的某些部分。这意味着我的应用程序是使用craco ... 调用的,而不是react-scripts ...

有没有一个干净的解决方案让 Storybook 调用 craco 来代替?

【问题讨论】:

  • 您找到解决问题的方法了吗?

标签: create-react-app storybook craco


【解决方案1】:

我想出的解决方案是这样的:

.storybook/main.js:

const path = require('path');

module.exports = {
  stories: ['../src/**/*.stories.js'],
  addons: [
    '@storybook/preset-create-react-app',
    '@storybook/addon-actions',
    '@storybook/addon-links',
    '@storybook/addon-viewport/register',
    '@storybook/addon-knobs/register',
  ],
  webpackFinal(config, { configType }) {
    return {
      ...config,
      resolve: {
        alias: {
          ...config.resolve.alias,
          '~': path.resolve(__dirname, '../src/'),
        },
      },
    };
  },
};

我只在我的 craco 文件中使用了别名功能,所以在这里我覆盖了故事书中的 webpack 配置,只添加了别名参数。对于您的情况,您需要添加自己的配置。

【讨论】:

    【解决方案2】:

    @FR073N 的解决方案很好,但是由于最新版本,这会引发错误。

    缺少一行来完全正确覆盖 webpack 配置。

    const path = require('path');
    
    module.exports = {
      stories: ['../src/**/*.stories.js'],
      addons: [
        '@storybook/preset-create-react-app',
        '@storybook/addon-actions',
        '@storybook/addon-links',
        '@storybook/addon-viewport/register',
        '@storybook/addon-knobs/register',
      ],
      webpackFinal(config, { configType }) {
        return {
          ...config,
          resolve: {
            ...config.resolve, // <= HERE
            alias: {
              ...config.resolve.alias,
              '~': path.resolve(__dirname, '../src/'),
            },
          },
        };
      },
    };
    

    【讨论】:

      【解决方案3】:

      我已经在一个新的 CRA TypeScript 项目中成功地使用了 storybook-preset-craco@storybook@6.3.5react-scripts@4.0.3@craco/craco@6.2.0

      【讨论】:

        猜你喜欢
        • 2021-09-04
        • 2022-07-04
        • 2020-09-13
        • 2022-07-20
        • 2022-06-13
        • 2019-08-26
        • 2021-12-30
        • 2020-11-25
        • 2017-11-16
        相关资源
        最近更新 更多