【问题标题】:How to apply sass loaders correctly to apply styles如何正确应用 sass 加载器来应用样式
【发布时间】:2021-05-02 03:11:30
【问题描述】:

我正在一个项目中使用多个 sass 文件并将它们调用到一个文件中,问题是当我尝试应用样式时它们没有显示出来。 sass files。现在这就是我配置 webpack.config.js 文件的方式

const path = require("path");

module.exports = {
  mode: "development",
  entry: "./src/index.js",
  output: {
    filename: "main.js",
    path: path.resolve(__dirname, "dist"),
    assetModuleFilename: "images/[hash][ext][query]",
  },

  devtool: "inline-source-map",
  devServer: {
    contentBase: "./dist",
  },
  module: {
    rules: [
      {
        test: /\.(s[ac]|c)ss$/i,
        use: [
          // Creates `style` nodes from JS strings
          "style-loader",
          // Translates CSS into CommonJS
          "css-loader",
          // Compiles Sass to CSS
          "sass-loader",
        ],
      },
      {
        test: /\.(png|svg|jpg|jpeg|gif)$/i,
        type: "asset/resource",
        generator: {
          filename: "static/[hash][ext][query]",
        },
      },
    ],
  },
};

这是我得到的错误

> restaurant@1.0.0 start /home/cvilla714/javascript/restaurant-page
> webpack serve --open

ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from ./dist
ℹ 「wdm」: wait until bundle finished: /
✖ 「wdm」: asset main.js 943 KiB [emitted] (name: main)
runtime modules 1.25 KiB 6 modules
modules by path ./node_modules/ 345 KiB 26 modules
modules by path ./sass/*.scss 2.4 KiB
  ./sass/tabs.scss 366 bytes [built] [code generated]
  ./sass/main.scss 366 bytes [built] [code generated]
  ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./sass/tabs.scss 1.64 KiB [built] [code generated]
  ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./sass/main.scss 39 bytes [built] [code generated] [1 error]
modules by path ./src/*.js 4.48 KiB
  ./src/index.js 201 bytes [built] [code generated]
  ./src/tabs.js 2.42 KiB [built] [code generated]
  ./src/nav.js 1.86 KiB [built] [code generated]

ERROR in ./sass/main.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./sass/main.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: expected "{".
  ╷
7 │ $font-dancingScript: "Dancing Script", cursive;
  │                                               ^
  ╵
  sass/_layout.scss 7:47  @import
  sass/main.scss 2:9      root stylesheet
 @ ./sass/main.scss 2:12-127 9:17-24 13:15-29
 @ ./src/nav.js 4:0-27
 @ ./src/index.js 3:0-31

webpack 5.18.0 compiled with 1 error in 2816 ms
ℹ 「wdm」: Failed to compile.

这就是我将样式导入项目的方式

import "../sass/main.scss";

我无法将我的样式应用到项目中,我整天都在尝试解决这个问题,但没有成功,如果有人能指出正确的方向,我将不胜感激。

【问题讨论】:

  • 您在这一行sass/main.scss 中有语法错误$font-dancingScript: "Dancing Script", cursive;

标签: javascript webpack sass sass-loader


【解决方案1】:

你的 Webpack 配置是正确的。你的错误

$font-dancingScript: "跳舞脚本",草书;

添加'必须解决您的问题;

$font-dancingScript: ' "舞蹈脚本", cursive ';

配置:

  {
    test: /\.css$/,
    use: ["style-loader", "css-loader"],
  },
  {
    test: /\.s[ac]ss$/i,
    use: ["style-loader","css-loader","sass-loader"],
  }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 2015-06-30
  • 2019-12-10
  • 1970-01-01
  • 2013-12-07
  • 2019-10-04
相关资源
最近更新 更多