TypeScript 声明特定的 SCSS 模块

jon*_*hue 5 module sass typescript

我正在尝试声明要从 TypeScript 导入的特定 SCSS 模块。我有这个运行良好的声明文件:

declare module '*.scss' {
  const styles: {
    a: string
    b: string
    c: string
  }

  export default styles
}
Run Code Online (Sandbox Code Playgroud)

但我想以*.scss某种方式缩小范围,以便此声明文件仅适用于_variables.scss位于同一目录中的 SCSS 文件。

我试图*.scss_variables.scssor替换,./_variables.scss但是 TypeScript 根本无法找到模块声明。

这可以用 TypeScript 实现吗?

fel*_*osh 0

尝试将整个路径import放入declare module.

所以如果你的文件存在于../foo/bar/_variables.scss

作出声明

declare module '../foo/bar/_variables.scss' {
  const styles: {
    a: string
    b: string
    c: string
  }

  export default styles
}
Run Code Online (Sandbox Code Playgroud)