对传递依赖项的更改不会触发实时重新加载

问题描述

我已将 SNowpack 3 添加到我的应用程序中,它适用于 JS/TS 文件以及直接导入的触控笔文件

文件结构类似如下:

view.js:

import 'view-styles.styl'

export default function view() {
    return (
        <div className='example-view'>Hello World</div>
    );
}

view-styles.styl

@require './colors.styl'
.example-view
    background-color: $mainColor

colors.styl

$mainColor = #ff0000

LiveReload/HMR 在更改直接导入的手写笔文件时按预期工作。更改colors.styl 文件中的任何内容时它不起作用。此文件中的更改仅在 view-styles.styl 文件更新后才会被选取。

这是 SNowpack 的已知限制吗?

我也可以手动触发更新,因为我有一种方法可以使用它们的文件名来识别这些文件。我还没有找到使用 SNowpack 的 JavaScript API 触发实时重新加载的方法。我能够使用 SNowpackDevServer.loadUrl 函数加载文件,但这也无济于事。

解决方法

我能够将其贡献给 snowpack stylus 插件。更改已集成到插件中:https://github.com/fansenze/snowpack-plugin-stylus