Storybook: μ†ŒμŠ€ λ‘œλ” : TypeError : μ •μ˜λ˜μ§€ μ•Šμ€ 'query'속성을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 08μ›” 13일  Β·  1논평  Β·  좜처: storybookjs/storybook

버그 μ„€λͺ…

@storybook/source-loader 와 ν•¨κ»˜ μžλ™ 생성 된 μŠ€ν† λ¦¬ 뢁은이 였λ₯˜ λ©”μ‹œμ§€λ₯Ό μΈμ‡„ν•˜κ³  μ†ŒμŠ€κ°€λ‘œλ“œλ˜μ§€ μ•ŠμœΌλ©° 'μŠ€ν† λ¦¬'탭이 λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μž¬ν˜„ν•˜λ €λ©΄

데λͺ¨ μ €μž₯μ†Œ : https://github.com/petermikitsh/sb-source-error ( yarn start-storybook )

λ™μž‘μ„ μž¬ν˜„ν•˜λŠ” 단계 :

npx init storybook # choose react
npm i @storybook/source-loader --dev

.storybook / main.js :

module.exports = {
  stories: [
    "../stories/**/*.stories.mdx",
    "../stories/**/*.stories.@(js|jsx|ts|tsx)",
  ],
  addons: [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
+    "@storybook/source-loader",
  ],
+  webpackFinal: async (config) => {
+    config.module.rules = [
+      ...config.module.rules,
+      {
+        test: /\.stories\.jsx?$/,
+        loaders: [
+          {
+            loader: require.resolve("@storybook/source-loader"),
+            options: { parser: "javascript" },
+          },
+        ],
+        enforce: "pre",
+      },
+    ];
+    return config;
+  },
};
info @storybook/react v6.0.5
info 
info => Loading presets
WARN   Failed to load preset: {"name":"@storybook/source-loader","type":"presets"} on level 1
ERR! TypeError: Cannot read property 'query' of undefined
ERR!     at getOptions (/[REDACTED]/node_modules/loader-utils/lib/getOptions.js:6:31)
ERR!     at readAsObject (/[REDACTED]/node_modules/@storybook/source-loader/dist/dependencies-lookup/readAsObject.js:25:45)

μ˜ˆμƒλ˜λŠ” 행동

였λ₯˜κ°€ μ—†μŠ΅λ‹ˆλ‹€. μŠ€ν† λ¦¬ μ†ŒμŠ€ μ½”λ“œκ°€λ‘œλ“œλ©λ‹ˆλ‹€.

슀크린 μƒ·

Screen Shot 2020-08-12 at 9 06 38 PM

bug source-loader

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ£„μ†‘ν•©λ‹ˆλ‹€. λ¬Έμ„œλ₯Ό 잘λͺ» μ½μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. μœ„μ— λ‚˜μ—΄λœ λ‚΄ ꡬ성이 잘λͺ»λœ 것 κ°™μŠ΅λ‹ˆλ‹€. 이후 ꡬ성을 μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ΄μ•ΌκΈ°μ˜ λŒ€λΆ€λΆ„μ€ 이제 μ†ŒμŠ€ μ½”λ“œλ‘œ μ±„μ›Œμ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ• λ“œμ˜¨μ€ λ‹€μŒκ³Ό κ°™μ•„μ•Όν•©λ‹ˆλ‹€.

  addons: [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
+   "@storybook/addon-storysource",
  ],

@storybook/addon-storysource λŠ” λ‚΄λΆ€μ μœΌλ‘œ @storybook/source-loader λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ›ΉνŒ© ꡬ성을 μž¬μ •μ˜ν•˜λŠ” 경우 (예 : 자체 config.module.rules λ°°μ—΄ μ •μ˜) @storybook/source-loader 직접 μ„€μ •ν•΄μ•Όν•©λ‹ˆλ‹€.

>λͺ¨λ“  λŒ“κΈ€

μ£„μ†‘ν•©λ‹ˆλ‹€. λ¬Έμ„œλ₯Ό 잘λͺ» μ½μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. μœ„μ— λ‚˜μ—΄λœ λ‚΄ ꡬ성이 잘λͺ»λœ 것 κ°™μŠ΅λ‹ˆλ‹€. 이후 ꡬ성을 μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ΄μ•ΌκΈ°μ˜ λŒ€λΆ€λΆ„μ€ 이제 μ†ŒμŠ€ μ½”λ“œλ‘œ μ±„μ›Œμ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ• λ“œμ˜¨μ€ λ‹€μŒκ³Ό κ°™μ•„μ•Όν•©λ‹ˆλ‹€.

  addons: [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
+   "@storybook/addon-storysource",
  ],

@storybook/addon-storysource λŠ” λ‚΄λΆ€μ μœΌλ‘œ @storybook/source-loader λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ›ΉνŒ© ꡬ성을 μž¬μ •μ˜ν•˜λŠ” 경우 (예 : 자체 config.module.rules λ°°μ—΄ μ •μ˜) @storybook/source-loader 직접 μ„€μ •ν•΄μ•Όν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰