vue.js - 如何在 vue.config.js 中为 node_modules 添加 sass 加载器

标签 vue.js webpack sass vue-cli sass-loader

我正在尝试对节点模块使用 sass 加载程序。但无论我尝试什么,都会出现以下错误:

SassError: Can't find stylesheet to import.

我的 vue.config.js 看起来像这样:

module.exports = {
    css: {
        sourceMap: true,
        loaderOptions: {
            scss: {
                prependData: `
          @import "~@/my-node-module/theme/engine.scss"; 
        `
            }
        }
    },
};

最佳答案

试试这个,来自 docs :

@import "~my-node-module/theme/engine.scss";

~ 告诉 Webpack 导入路径不是相对路径。

@src 目录的 Vue CLI 3+ 别名。

所以~@本质上和@是一样的。无论哪种方式,Webpack 都知道路径不是相对路径并检查 src 目录,并且不会找到节点模块。

~ 本身会导致 Webpack 查找其他地方,通常是 node_modules

项目.scss文件

例如,如果您的 src > assets > scss 目录中有一个 .scss Assets ,您可以这样做:

@import '@/assets/scss/variables.scss';

或者这个:

@import '~@/assets/scss/variables.scss';

甚至这样:

@import '~/../src/assets/scss/variables.scss';

关于vue.js - 如何在 vue.config.js 中为 node_modules 添加 sass 加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61343555/

相关文章:

javascript - 在 Vue.js 中监听自定义事件

javascript - 如何使用Vue登录后渲染标题和侧边栏

reactjs - webpack-dev-server react 路由器推送状态

javascript - 是否可以在 vue.js 中改变任意嵌套子组件的属性,而无需在整个层次结构中创建事件链?

javascript - 在上传的图片上绘制矩形

reactjs - 将项目放在子文件夹中时,laravel mix 重写 url 路径错误

reactjs - 升级到 Webpack 5 打破 Storybook 5

sass - 有条件地导入部分 - compass

css - Sass:使用 HSL 颜色代码的 $color-darken

sass - 如何在 windows10 中使用 `vscode live sass compiler extension` 设置编译后的 css 文件的输出路径?