Vue组件在使用@storybook/vue3在Nuxt 3中的Storybook面板中未呈现。

huangapple go评论160阅读模式
英文:

Vue components not rendering in Storybook panel with Nuxt 3 using @storybook/vue3

问题

以下是您要翻译的内容:

我目前正在开发一个组件,它内部使用了另一个组件,但子组件未在面板中呈现。我尝试在Nuxt配置中设置components: true,但没有奏效。

main.js

  1. /** @type { import('@storybook/vue3-vite').StorybookConfig } */
  2. module.exports = {
  3. stories: ['../components/**/*.stories.@(js|jsx|ts|tsx)'],
  4. addons: [
  5. '@storybook/addon-links',
  6. '@storybook/addon-essentials',
  7. '@storybook/addon-interactions',
  8. ],
  9. framework: '@storybook/vue3-vite',
  10. core: {
  11. disableTelemetry: true,
  12. },
  13. features: {
  14. storyStoreV7: true,
  15. },
  16. };

preview.js

  1. import '../assets/sass/global.sass';
  2. export const parameters = {
  3. actions: { argTypesRegex: "^on[A-Z].*" },
  4. controls: {
  5. matchers: {
  6. color: /(background|color)$/i,
  7. date: /Date$/,
  8. },
  9. },
  10. };

我尝试在Nuxt配置中设置components: true,因为我看到了这个问题:https://github.com/nuxt-community/storybook/issues/233,但我认为这可能是Nuxt 3的错误。

英文:

I am currently working on a component that uses another within it, and the child component is not rendering in the panel. I tried setting components: true in nuxt config but it didn't work.

main.js

  1. /** @type { import('@storybook/vue3-vite').StorybookConfig } */
  2. module.exports = {
  3. stories: ['../components/**/*.stories.@(js|jsx|ts|tsx)'],
  4. addons: [
  5. '@storybook/addon-links',
  6. '@storybook/addon-essentials',
  7. '@storybook/addon-interactions',
  8. ],
  9. framework: '@storybook/vue3-vite',
  10. core: {
  11. disableTelemetry: true,
  12. },
  13. features: {
  14. storyStoreV7: true,
  15. },
  16. };

preview.js

  1. import '../assets/sass/global.sass';
  2. export const parameters = {
  3. actions: { argTypesRegex: "^on[A-Z].*" },
  4. controls: {
  5. matchers: {
  6. color: /(background|color)$/i,
  7. date: /Date$/,
  8. },
  9. },
  10. }

I tried setting components: true in nuxt config because i read this issue https://github.com/nuxt-community/storybook/issues/233 but i think it might be a nuxt 3 error.

答案1

得分: 1

你需要将 autoimportcomponents vite 插件添加到你的配置文件中。

.storybook/main.js 文件中,你需要添加以下导入语句:

  1. import AutoImport from 'unplugin-auto-import/vite';
  2. import Components from 'unplugin-vue-components/vite';

vite.config.ts 文件中,你已经包含了这些插件:

  1. import AutoImport from 'unplugin-auto-import/vite';
  2. import Components from 'unplugin-vue-components/vite';

请确保你的配置文件中包含这些插件以便正确运行。

英文:

You have to add autoimport and components vite plugins to your config.

npm i -D unplugin-auto-import unplugin-vue-components

.storybook/main.js

  1. import path from 'path'
  2. import { loadConfigFromFile, mergeConfig } from 'vite'
  3. export default {
  4. stories: ['../components/**/*.stories.@(js|jsx|ts|tsx)'],
  5. addons: [
  6. '@storybook/addon-links',
  7. '@storybook/addon-essentials',
  8. '@storybook/addon-interactions',
  9. ],
  10. framework: '@storybook/vue3-vite',
  11. core: {
  12. disableTelemetry: true,
  13. },
  14. features: {
  15. storyStoreV7: true,
  16. },
  17. async viteFinal(baseConfig) {
  18. const { config: userConfig } = await loadConfigFromFile(
  19. path.resolve(__dirname, "../vite.config.ts")
  20. )
  21. return mergeConfig(baseConfig, userConfig)
  22. }
  23. }

vite.config.ts

Separate config for vite. Unfortunately, I could not find a way how to use the built in vite config from nuxt.config.ts.

  1. import { fileURLToPath } from 'url';
  2. import { defineConfig } from 'vite';
  3. import AutoImport from 'unplugin-auto-import/vite';
  4. import Components from 'unplugin-vue-components/vite';
  5. export default defineConfig({
  6. plugins: [
  7. AutoImport({
  8. imports: ['vue', 'vue-router'],
  9. dirs: ['./composables'],
  10. vueTemplate: true,
  11. }),
  12. Components({
  13. dirs: ['./components/'],
  14. dts: true,
  15. directoryAsNamespace: true,
  16. }),
  17. ],
  18. resolve: {
  19. alias: {
  20. '~': fileURLToPath(new URL('./', import.meta.url)),
  21. },
  22. },
  23. });

huangapple
  • 本文由 发表于 2023年4月13日 16:29:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/76003291.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定