这里讲的不是本地自定义修改那种场景,而是根据后端返回的值来判断用哪种主题来展示。
1、换肤思路
本地存储n种静态css主题文件,根据登陆后后端的主题返回值来动态加载对应的主题文件
2、实现方式
1 | let loadLink = (url) => { |
上面代码就是典型的一个动态加载css的方法,而process.env.NODE_ENV !== "development"则是为了判断这是线上环境,在开发环境下我们用的不是这个编译后的css文件,为了方便我们会使用less
3、开发环境怎么使用less文件
1 | if (process.env.NODE_ENV === "development") { |
这样使得开发环境下,优雅地使用less编写主题。
然后webpack打包项目之前,使用 gulp 将less编译为css文件放到static文件夹下,在生产环境的时候,去加载static文件夹里面对应的主题,就实现了根据后端来展示对应主题的需求。
PS: require只能写在开发过程中,webapck会去编译,而执行时机在生产环境的代码不可以使用require,,因此要用loadLink这个方法