在 Vue 2 Vue-cli 5 的 Typescript 中加载 SCSS 变量
Load SCSS variables in Typescript for Vue 2 Vue-cli 5
在我的 Vue 2 项目(由 Vue-cli v4 生成)中,我曾经将变量从我的 SCSS 文件导入到我的打字稿(.vue 文件)中,并且工作正常。
我的 scss 文件 _variables.scss 中有 :export { ... },用于打字稿的 shims.scss.d.ts 一切都按应有的方式对齐并且可以正常工作。 (我在 vue.config.js 中没有配置 sass-loader,但我假设 vue-cli 在幕后为我处理它……我错了吗?)
然后我将 vue-cli 更新到版本 5,导入的 scss 变量停止工作并无声地失败(我所有以前由 scss 变量初始化的 TS 变量现在都未定义)。
我尝试重新配置 webpack 以使用 sassloader、cssloader、styleloader... 就像互联网上的大多数答案一样,但似乎没有任何效果。
检查您用于 SCSS 文件的命名方案。要使 :export
正常工作,文件必须被视为 css 模块。默认情况下,只有 *.module.scss
个文件被 css-loader 视为模块。 vue 可能更改了关于此设置的默认配置。
在我的 Vue 2 项目(由 Vue-cli v4 生成)中,我曾经将变量从我的 SCSS 文件导入到我的打字稿(.vue 文件)中,并且工作正常。
我的 scss 文件 _variables.scss 中有 :export { ... },用于打字稿的 shims.scss.d.ts 一切都按应有的方式对齐并且可以正常工作。 (我在 vue.config.js 中没有配置 sass-loader,但我假设 vue-cli 在幕后为我处理它……我错了吗?)
然后我将 vue-cli 更新到版本 5,导入的 scss 变量停止工作并无声地失败(我所有以前由 scss 变量初始化的 TS 变量现在都未定义)。
我尝试重新配置 webpack 以使用 sassloader、cssloader、styleloader... 就像互联网上的大多数答案一样,但似乎没有任何效果。
检查您用于 SCSS 文件的命名方案。要使 :export
正常工作,文件必须被视为 css 模块。默认情况下,只有 *.module.scss
个文件被 css-loader 视为模块。 vue 可能更改了关于此设置的默认配置。