storybook [Bug]: Stylus @import 导致错误

5cg8jx4n  于 4个月前  发布在  其他
关注(0)|答案(8)|浏览(119)

描述问题

我正在使用 Nx 的 monorepo,其中包含 Stylus 的 CSS预处理器和 Storybook v7 以及 Vite 的 bundler。我的目标是使用共享样式库来为 ReactVue3 UI组件库提供支持。我已经通过这个解决方案解决了捆绑问题,我的库在 @import 解析过程中完全没有问题。但是 Storybook 在任何配置下都无法独立工作。
在前端,我在控制台得到了:

[vite] Internal server error: [postcss] /Users/.../libraries/vue-ui/src/lib/Badge/Badge.vue?vue&type=style&index=0&scoped=681721c9&lang.stylus:1:1: Unknown word
  Plugin: vite:css
  File: /Users/.../libraries/vue-ui/src/lib/Badge/Badge.vue?vue&type=style&index=0&scoped=681721c9&lang.stylus:1:1
  1  |  
     |   ^
  2  |    @import "~@mydse/styles/components/Badge.styl"

在控制台:

[vite] Internal server error: [postcss] /Users/.../libraries/vue-ui/src/lib/Badge/Badge.vue?vue&type=style&index=0&scoped=681721c9&lang.stylus:1:1: Unknown word
  Plugin: vite:css
  File: /Users/.../libraries/vue-ui/src/lib/Badge/Badge.vue?vue&type=style&index=0&scoped=681721c9&lang.stylus:1:1
  1  |  
     |   ^
  2  |    @import "~@mydse/styles/components/Badge.styl"

如何解决这个问题?

重现问题

看起来只要在 stylus 文件或 Vue 样式部分中使用 @import ...,就会引发问题。所有项目都是使用 Nx 库生成的。

系统环境

Environment Info:

  System:
    OS: macOS 13.4
    CPU: (12) arm64 Apple M2 Max
  Binaries:
    Node: 18.15.0 - ~/.nvm/versions/node/v18.15.0/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.6.7 - ~/.nvm/versions/node/v18.15.0/bin/npm
  Browsers:
    Chrome: 114.0.5735.133
    Firefox: 114.0.1
    Safari: 16.5
  npmPackages:
    @storybook/addon-essentials: 7.0.22 => 7.0.22 
    @storybook/core-common: ^7.0.22 => 7.0.22 
    @storybook/core-server: 7.0.22 => 7.0.22 
    @storybook/react: 7.0.22 => 7.0.22 
    @storybook/react-vite: 7.0.22 => 7.0.22 
    @storybook/vue3: ^7.0.22 => 7.0.22 
    @storybook/vue3-vite: 7.0.22 => 7.0.22

其他相关信息

  • 无响应*
brc7rcf0

brc7rcf01#

P.S.在查看了您的文档后,我还有一个问题:您是否支持Stylus?完全没有任何关于它的信息-只是与webpack相关的问题。

vngu2lb8

vngu2lb82#

@xxxKOTxxx 可能在 7.0.24 中通过 #22486 修复,该修复声称解决了触控笔支持问题。我们没有明确支持触控笔,但在幕后,storybook 只是 webpack 或 vite,两者我都假设支持触控笔,这意味着你应该能够通过配置获得支持。

5lhxktic

5lhxktic4#

感谢您的回复!我会等待发布以检查它现在是否正常工作!
7.0.24
您计划何时发布此版本?

vsaztqbk

vsaztqbk5#

经过测试,没有发现问题。
我将尝试在webpack上进行迁移,并尝试解决这个问题。

q8l4jmvw

q8l4jmvw6#

使用webpack5也存在问题描述 here

fcwjkofz

fcwjkofz7#

在7.0.25上测试,没有进展。

l0oc07j2

l0oc07j28#

对于那些也遇到触控笔问题的人,作为解决方法,我建议使用 patch-package 包来修补 node_modules/@storybook/core-common/dist/index.js 文件,直到 Storybook 发布 PR。只需将

...hookIgnoreNodeModules:!1,tsconfigRaw:...

替换为

...hookIgnoreNodeModules:!1,keepNames:true,tsconfigRaw:...

并遵循包文档。

相关问题