返回
Webpack 处理 SCSS 的基本方法
前端
2023-10-01 10:59:03
- 安装必要的依赖项
npm install --save-dev webpack sass-loader css-loader
2. 在 Webpack 配置文件中添加 loader
在 Webpack 配置文件的 module.rules
数组中添加以下 loader:
{
test: /\.scss$/,
use: [
{
loader: "style-loader"
},
{
loader: "css-loader"
},
{
loader: "sass-loader"
}
]
}
style-loader
:将编译后的 CSS 代码注入到<style>
标签中。css-loader
:将 CSS 代码转换成 CommonJS 模块。sass-loader
:将 SCSS 代码转换成 CSS 代码。
3. 在 Webpack 配置文件中设置输出目录
在 Webpack 配置文件的 output
对象中,设置 path
属性为编译后的 CSS 文件的输出目录。
{
output: {
path: path.resolve(__dirname, "dist"),
filename: "style.css"
}
}
4. 在 Webpack 配置文件中设置入口文件
在 Webpack 配置文件的 entry
对象中,设置 main
属性为 SCSS 文件的入口文件。
{
entry: {
main: "./src/style.scss"
}
}
5. 运行 Webpack
webpack
运行 Webpack 后,编译后的 CSS 文件将输出到指定的目录中。
使用 file-loader 输出 CSS 文件
如果不想将编译后的 CSS 代码注入到 <style>
标签中,而是在输出目录中生成一个单独的 CSS 文件,可以使用 file-loader
。
{
test: /\.scss$/,
use: [
{
loader: "file-loader",
options: {
name: "style.css"
}
},
{
loader: "css-loader"
},
{
loader: "sass-loader"
}
]
}
使用 file-loader
时,需要在 Webpack 配置文件的 output
对象中设置 publicPath
属性为输出目录的公共路径。
{
output: {
path: path.resolve(__dirname, "dist"),
filename: "style.css",
publicPath: "/dist/"
}
}
运行 Webpack 后,编译后的 CSS 文件将输出到指定的目录中,并且在 HTML 文件中引用该 CSS 文件时,需要使用 publicPath
属性指定的公共路径。