both introduce 
 to solve this problem through css selector priority 
 when talking a little more specifically about ie9, The swiper container adds the class name isIE9 
 and then everything in idangerous.swiper.css is prefixed with .isIE9 
 to ensure that the priority is higher than that in swiper.min.css 
 
 first of all, make it clear that  webpack  is packaged, which can be understood as the compilation time, and there is no way to predict the runtime environment during the compilation time. 
 can provide you with the following implementation ideas: 
-  is also mentioned by the students upstairs, adding a specific  class prefix, but this modification is very expensive. How many class are there in the unpredictable CSS file
-  use  System.import () , but make sure you use the ExtractTextPlugin plugin. Remember to set the ExtractTextPlugin configuration allChunks: true in the webpack configuration file (this scheme cannot export CSS files directly, but CSS in JS )
-  introduce the  CSS file directly into the project as a string, and judge the environment to manually generate link tags
 several solutions, you can try a wave, and you are not sure whether there are any other solutions based on  webpack  
.
  A grumpy dynamic creation of link tags can be implemented in native js in index.html  based on webpack, you can consider some methods upstairs to practice the pros and cons 
.
 
 just replace import with require 
if (!isIE9) {
  require('swiper/dist/css/swiper.min.css')
} else {
  require('swiper2/dist/idangerous.swiper.css')
}
 = 
 Why is it possible to test why it was stepped on? in principle, both import and require, are finally converted to webpack_require. 
 main.js randomly loads css 
var r = Math.random();
if(r>0.5) {
    require('./assets/css1.css')    
}else {
    require('./assets/css2.css')    
}
 css1: 
body {
    background-color: -sharp2C3E50;
}
 css2: 
body {
    background-color: cadetblue;
}
 effect 
 

csswebpacknavigator
 
 
 webpack's  require.ensure  can see that it is the 
 that handles demand loading.
if(!isIE9){
    require.ensure([], function () {
        require('swiper/dist/css/swiper.min.css');
    })
}else{
    require.ensure([], function () {
        require('swiper2/dist/idangerous.swiper.css');
    })
}
 how to use it, you can take a look at it in the document 
 is actually the problem of js loading css on demand. 
const loadCss = url => {
  let link = document.createElement("link");
  link.setAttribute("rel", "stylesheet");
  link.setAttribute("type", "text/css");
  link.setAttribute("href", url);
  document.body.appendChild(link);
};
if(!isIE9)
  loadCss(...)
else
  loadCss(...)
 the loaded address must be static, and it is good to use  [if lt IE 9]  to judge 
.