4
我试图从webpack 2生成2个不同的CSS文件来源于相同的SCSS源文件,以便有替代样式表而不需要重复代码。我已经成功生成了两个表单,通过评论一个表单,但无法弄清楚如何同时生成它们。我的WebPack配置(缩短相关性)是:Webpack:从相同的来源生成多个CSS文件
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const CopyWebpackPlugin = require('copy-webpack-plugin');
const webpack = require('webpack');
const path = require('path');
const ExtractLightCss = new ExtractTextPlugin("app-light.css")
const ExtractDarkCss = new ExtractTextPlugin("app-dark.css")
module.exports = {
...
module: {
rules: [
{
test: /\.scss?$/,
use: ExtractLightCss.extract({ fallback: "style-loader", use: ["css-loader", {loader: "sass-loader", options: {data: "$light: true;"}} ]})
},
{
test: /\.scss$/,
use: ExtractDarkCss.extract({ fallback: "style-loader", use: ["css-loader", {loader: "sass-loader", options: {data: "$light: false;"}} ]})
},
...
]
},
plugins: [
ExtractLightCss,
ExtractDarkCss
]
};
如果我试图在这个配置的WebPack运行,我得到的错误说
ERROR in ./~/css-loader!./~/sass-loader?{"data":"$light: true;"}!./~/extract-text-webpack-plugin/loader.js?{"id":2,"omit":1,"remove":true}!./~/style-loader!./~/css-loader!./~/sass-loader?{"data":"$light: false;"}!./styles/[filename].scss
这使得它看起来像它在同时运行的规则集同时,而不是同时运行另一个。
有没有办法做到这一点?
你设法成功地处理这个问题两个样式? – user2655603