我目前正在尝试使用 Webpack 来捆绑我的所有文件,但在处理多个文件夹和.scss
文件时我不知道如何进行。
我曾经使用 grunt 来完成这些任务,这是我的文件夹结构示例:
functions
- _mixin.scss
- _function.scss
- [...]
variables
- _colors.scss
- _typo.scss
- [...]
ui
- _button.scss
- _grid.scss
- [...]
view
- _home.scss
- _about.scss
- [...]
Run Code Online (Sandbox Code Playgroud)
随着Grunt
我将运行一个任务来生成一个名为main.scss
包含所有的文件@import
,例如:
@import 'function/_mixin.scss';
@import 'function/_function.scss';
@import 'variables/_colors.scss';
@import 'variables/_typo.scss';
[...]
Run Code Online (Sandbox Code Playgroud)
目前我正在我的.js
文件中指定一个导入(与 结合使用extract-text-webpack-plugin
)来定义main.scss
文件,但是每个新的import
或旧的都需要手动添加/删除。有没有办法用 自动执行此任务WebPack
?
Jun*_*Nam 12
当 webpack 3 或 4
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const globImporter = require('node-sass-glob-importer');
...
test: /\.(scss|sass)$/,
use: [
MiniCssExtractPlugin.loader,
"css-loader",
{
loader: "sass-loader",
options: {
sassOptions: {
importer: globImporter()
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
用这种方式。
// Import all files inside the `scss` directory and subdirectories.
@import 'scss/**/*.scss';
@import 'scss/component-*';
Run Code Online (Sandbox Code Playgroud)
注意 - 仅适用于webpack 2
(需要更新 webpack 3^)
你可以使用插件import-glob-loader
github / npm
它支持通配
@import "foo/**/*";
Run Code Online (Sandbox Code Playgroud)
输出到
@import "foo/1.scss";
@import "foo/bar/2.scss";
@import "foo/bar/3.scss";
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19906 次 |
最近记录: |