搭建一个react-redux-router项目
一、项目css方案详解 css使用全局作用域,并没有局部作用域的概念,即在任意位置定义的css都会作用到任何位置的标签上,这样就会造成全局污染,以及变量名命名的困难。css-modules(webpack的css-loader也提供)通过css模块化解决了这个问题,但本质上还是没有改变css的作用域,只是将开发者定义的css变量名进行了处理,加上了hash值,并自动放入到标签中。 由于css-modules的存在,而且项目会使用ant-design这种第三方全局样式,它不适宜采用css模块化,开发前,进行了项目css结构几种方案的对比。 1、采用webpack的exclude/include进行全局css与局部css的分离,局部css采用css模块化,全局css不采用,这种方案由于没有试验过,不采用; 2、不采用css模块化,每个组件单独写一个样式文件,最后由webpack打包到一个css文件中,这种方式对变量名的命名要求不重复,每个组件一个css文件便于维护,由于项目简单,采用这种方式。 3、不采用css模块化,所有样式文件写入一个公有的css文件中,与第二种一样,但是只需要在index.html中引入一次就可以使用了,这种方式每个组件的样式结构不清晰,不便于维护,不采用这种方式。