storybook @ storybook / addon-options последняя работа - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь установить какую-то опцию, но она не работает.

package.json

  "devDependencies": {
    "@storybook/addon-actions": "^3.4.10",
    "@storybook/addon-links": "^3.4.10",
    "@storybook/addon-options": "^3.4.11",
    "@storybook/addon-storyshots": "^3.4.10",
    "@storybook/addons": "^3.4.10",
    "@storybook/react": "^3.4.11"
}

addons.js

import '@storybook/addon-options/register';

config.js

import { configure } from '@storybook/react';
import { setOptions } from '@storybook/addon-options';

setOptions({ name: 'my name' });

// automatically import all files ending in *.stories.js
const req = require.context('../stories', true, /.stories.js$/);

function loadStories() {
  req.keys().forEach((filename) => req(filename));
}

configure(loadStories, module);

Я пытаюсь понять, где я, что-то не так в течение нескольких часов.

1 Ответ

0 голосов
/ 19 января 2019

Редактировать после тестирования с предоставленными версиями:

Я проверил это локально с вышеуказанными версиями, и похоже, что поскольку @storybook/react и @storybook/addons на разных версиях, даже с помощью патча, @storybook/react заканчивает тем, что устанавливает свою собственную зависимость аддонов и 2 рассинхронизироваться.

В этом случае вы, скорее всего, увидите ошибку типа «доступ к несуществующему каналу аддонов» в консоли.

Чтобы это исправить, вам нужно увеличить версию зависимости addons до v3.4.11 И переустановить зависимость реакции.

npm install --save-dev @storybook/addons@3.4.11 @storybook/react@3.4.11

Примечание. Если вы обновляете только дополнения до v3.4.11, не переустанавливая зависимость реакции, она не будет полностью синхронизирована, потому что реакция уже установила свою собственную зависимость зависимостей.

Образ файловой системы в директории node_modules:

enter image description here

Ранее сообщалось для сборника рассказов v4:

Согласно документации, вы должны применить настройки в качестве декоратора (и функции setOptions нет, но есть функция withOptions).

Так попробуйте это:

import { addDecorator, configure } from '@storybook/react';
import { withOptions } from '@storybook/addon-options';

addDecorator(withOptions({ name: 'my name' }));

// rest of the config goes here

Кроме того, обязательно зарегистрируйте дополнение, добавив следующую строку в файл addons.js:

import '@storybook/addon-options/register';

Ссылка: https://www.npmjs.com/package/@storybook/addon-options

В сторону: причина, по которой он должен быть внутри декоратора, заключается в том, что пользовательский интерфейс сборника рассказов отображается как часть каждой истории, поэтому вы не можете просто установить параметры глобально, не применив к этим настройкам каждую историю.

...