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