【发布时间】:2016-11-17 22:37:22
【问题描述】:
我正在尝试使 React 应用程序主题化。目前,主题仅由定义不同标题颜色等的不同 Sass 变量集组成。
根据我目前的理解,ExtractTextPlugin 似乎是我最好的选择,因为我不希望我的样式被内联,而是每个主题都有单独的文件。
所以我创建了两个主题:
src/scss/themes/theme-a.scss
src/scss/themes/theme-b.scss
主题导入基本布局和常用样式并覆盖相关变量。
但我设法让 webpack 创建单独的 css 文件的唯一方法
这两个主题都是为每个主题创建不同的切入点
我的webpack.prod.config:
entry: {
app: './src/js/init.js',
theme-a: './src/scss/themes/theme-a.scss',
theme-b: './src/scss/themes/theme-b.scss'
},
但是为每个添加的新主题添加一个新的入口点感觉不对,我认为一定有更好的方法吗?
【问题讨论】:
-
嗯,我相信你需要
plugins中的引用,类似于new ExtractTextPlugin('css/bundle.css')。我还没有看到有人把这些介绍entry。我只将 CSS 分成一个文件,但在这里查看,他似乎在示例中提取了 2 个文件(无论是 css 还是更少):github.com/webpack/extract-text-webpack-plugin#api -
嗯,但是添加多个插件实例而不是多个条目听起来不太舒服。如果可以告诉插件它为在某个源/文件夹中遇到的每个 scss 文件生成一个单独的 css 文件,那该多好。