Webpack Css加载器vs样式加载器vs Sass加载器

Webpack Css加载器vs样式加载器vs Sass加载器,webpack,sass,css-loader,sass-loader,react-css-modules,Webpack,Sass,Css Loader,Sass Loader,React Css Modules,在使用import语句时,我对区分sass加载器和css加载器有点困惑。据我所知,css加载器解析导入状态(@import),样式加载器在页面上动态注入样式。我还在我的应用程序中使用sass加载器。所以我对sass加载器的功能感到困惑。它还会解析import语句并将sass转换为css吗。在这种情况下,我不需要css加载器,如果我在我的项目中只使用sass文件,因为这项工作将由sass加载器完成。我就在这里吗?。有人能强调一下这一点吗。 非常感谢任何帮助sass加载器将解析@import语句,并

在使用import语句时,我对区分sass加载器和css加载器有点困惑。据我所知,css加载器解析导入状态(@import),样式加载器在页面上动态注入样式。我还在我的应用程序中使用sass加载器。所以我对sass加载器的功能感到困惑。它还会解析import语句并将sass转换为css吗。在这种情况下,我不需要css加载器,如果我在我的项目中只使用sass文件,因为这项工作将由sass加载器完成。我就在这里吗?。有人能强调一下这一点吗。
非常感谢任何帮助

sass加载器将解析
@import
语句,并将导入的sass包含在结果CSS中,因此结果CSS可能没有任何导入语句。但是
css加载器
不仅仅处理导入。你提到的三个装载机做了非常不同的事情,它们应该一起使用,尽管你可以使用其他装载机,这会产生类似的结果

  • sass加载程序
    -将sass转换为CSS。(输入:Sass,输出:CSS
  • css加载程序
    -将css转换为JavaScript模块。(输入:CSS,输出:JavaScript
  • style loader
    -在运行时将JavaScript模块导出的CSS注入到
    标记中。(输入:JavaScript,输出:JavaScript
  • 注意:
    style loader
    的输出仅在使用CSS模块时才相关,CSS模块传递将类名映射到本地标识符的对象


    如果没有任何将CSS转换为JavaScript的加载程序,则不能使用
    sass加载程序
    ,但可以使用
    raw加载程序
    ,它只是将模块的内容作为字符串读入,但可能会丢失
    CSS加载程序
    所做的一些转换(例如CSS模块或缩小).

    您能详细介绍一下样式加载器吗?我注意到css加载器在bundle.js中嵌入了css。如果我将其添加到加载程序中,样式加载程序会对bundle.js做什么?它是否仅在输出外部css文件时使用?另外,当你说将CSS注入样式标记时,输出不是HTML还是类似的吗?@nev.m
    CSS加载器
    使用CSS创建一个JavaScript字符串,
    style加载器
    使用CSS字符串作为其内容创建一个
    标记(使用),并将其添加到DOM中。
    style loader
    的输出是纯JavaScript,它创建DOM节点,并在执行时(因此在运行时)插入它<代码>样式加载器仅在您没有将CSS提取到单独的
    .CSS
    文件中时使用。谢谢。这是否意味着如果您只使用css加载器(使用css创建JavaScript字符串),而不使用样式加载器(将样式标记添加到DOM中),那么我们将看不到css生效?@nev.m是的,这是正确的,除非您手动使用CSS并以某种方式将其添加到DOM中,否则它不会有任何效果。@MichaelJungo样式加载器与字符串加载器的对比如何?