gpt4 book ai didi

node.js - 带有 sass-loader 的 Webpack 文件加载器

转载 作者:行者123 更新时间:2023-12-01 13:15:56 25 4
gpt4 key购买 nike

我是 nodejs 的新手,在尝试使用 sass 时遇到问题。

The following information is just fictional, but it represents the actual condition.



场景:

我有以下文件夹结构:
frontend/
- scss/
- style.scss
- main.js
webpack.config.js

目标 :

我要编译 style.scssstyle.css使用 webpack 并将其放入 dist/frontend/css/目录,所以它应该产生这个路径: dist/frontend/css/style.css并创建以下文件夹结构:
dist/
- frontend/
- scss/
- style.scs
- main.js
frontend/
- scss/
- style.scss
- main.js
webpack.config.js

代码:

main.js
import `style from "./scss/style.scss";`

webpack.config.js
 module.exports = {
mode: "development",
entry: {
main: "./frontend/main.js"
},
output: {
path: path.join(__dirname, "/dist/frontend"),
publicPath: "/",
filename: "[name].js"
},
module: {
rules: [
{
test: /\.(s*)css$/,
use: [
{
loader: "file-loader",
options: {
name: "css/[name].[ext]"
}
},
"style-loader/url",
"css-loader?-url",
"sass-loader"
]
}
]
}

结果:

我收到这条消息:
Module not found: Error: Can't resolve './scss/style.scss' in 'E:\project_name\frontend'
问题
  • 为什么会这样?
  • 实现的正确代码是什么?目标 ?
  • 最佳答案

    正如消息所说,此路径无效:'./scss/style.scss' .定义路径时有错字。该文件夹应该是 sass而不是 scss .

    以下配置将实现 目标问题中提到:

     module: {
    rules: [
    {
    test: /\.(s*)css$/,
    use: [
    "style-loader/url",
    {
    loader: "file-loader",
    options: {
    name: "css/[name].css"
    }
    },
    "sass-loader"
    ]
    }
    ]
    }

    它的工作原理类似于 Mini CSS Extract Plugin ,但不会产生额外的 .js每个文件 .css文件时用于转换多个 .scss文件转换成不同的 .css文件。

    关于node.js - 带有 sass-loader 的 Webpack 文件加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55035376/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com