🗂
Storybookで何故かModule not foundエラーが出る
先日Next.jsプロジェクトにStorybookを導入したところ、一部のコンポーネントを表示したい際にModule not foundエラー
が出てしまいました。
とはいえアプリケーションでは普通に表示されているし、VSCodeにもエラーはありませんでした。調べてみると、どうやらStorybookではNext.jsのimport aliasの設定が引き継がれていないようでした。
というわけで、import aliasを設定しているNext.jsプロジェクトにStorybookを導入する場合の手順について紹介します。
ちなみにこの手順は公式ドキュメントそのままです
Storybookをimport aliasに対応させる
次のコードを.storybook/main.ts
に追加するだけです。
import path from 'path';
// Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-vite)
import type { StorybookConfig } from '@storybook/your-framework';
const config: StorybookConfig = {
framework: '@storybook/your-framework',
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
webpackFinal: async (config) => {
if (config.resolve) {
config.resolve.alias = {
...config.resolve.alias,
'@': path.resolve(__dirname, '../src'),
};
}
return config;
},
};
export default config;
Discussion