多主题设置-Webpack / Vue-CLI

时间:2018-09-05 14:58:50

标签: webpack sass webpack-style-loader vue-cli-3

我将要创建可嵌入的应用程序,该应用程序可以在基本级别上(基本上是颜色)为每个客户端设置样式。

我的想法是使用嵌入的一些查询参数,例如: Booking booking = new Booking(); ,然后读取查询参数并在基础之上请求适当的样式。都很好,很容易挤柠檬。

我没有预见到的是,Webpack配置将使人无所适从。我习惯了vue-cli,我宁愿坚持下去(这可能意味着webpack-chain,但这不是问题),至少想保留它的webpack配置并只是对其进行扩展。

理想情况下,我想创建<iframe src="embeddedApplication?theme=client_1"/>client_1.scss,依此类推,仅包含scss变量。然后,我(理想情况下)以某种方式谈论webpack进入所有client_2.scss文件的循环(通常如此),然后对每个.vue文件重复该循环,以解决从该文件导入的设置。

视觉上:

client_N.scss

我已经尝试了很多,但是我没有设法做到这一点。我最近得到的是生成两种不同的样式(添加src |--themes | |-- client_1.scss | |-- client_2.scss | |--components |-- comp_A |-- comp_B dist |--client_1.css /* comp_A + comp_B with variables from client_1.scss |--client_1.css /* comp_A + comp_B with variables from client_2.scss 入口点)。但是然后我只是在写全局样式。

有人有什么想法吗?非常感谢!

更新

当前,我正在加载多个包含scss变量的JSON文件(听起来很有趣,我知道;这是*.scss的方式),因此可以在vue单个文件组件中正确解析scss变量。

@epegzz/sass-vars-loader

这很好,但是原始问题实际上尚未解决。我的forEach循环确实包含了所有文件,但是仍然只有一个CSS输出

如果我只能再次“重复”整个构建过程...?

0 个答案:

没有答案