从Webpack中的"node_modules"导入CSS

Don*_*lor 26 webpack webpack-style-loader css-loader

我正在使用的一些第三方模块有自己的CSS文件.我想将它们包含在我的应用程序的一个单个CSS文件中,该文件由Webpack处理.如何将"node_modules"下的CSS文件导入我的CSS文件?

例如,我正在使用第三方react-select模块,但我无法从node_modules以下位置导入其CSS文件:

@import 'react-select/dist/react-datetime.css';
Run Code Online (Sandbox Code Playgroud)

相关的装载机webpack.config.js:

  {
    test: /\.css$/,
    use: ExtractTextPlugin.extract({
      use: [
        {
          loader: 'css-loader',
          options: {
            url: false
          }
        }
      ]
    })
  }
Run Code Online (Sandbox Code Playgroud)

And*_*Ray 45

您可以导入相对于项目根node_modules/目录的文件(从根文件夹解析,使用波浪号前缀~:

@import '~react-select/dist/react-datetime.css';
Run Code Online (Sandbox Code Playgroud)

这是一个记录不完整的Webpack(冗余短语)约定,请参阅https://github.com/webpack-contrib/css-loader/issues/12#issuecomment-41940311以及CSS`url 中的```tilde是什么()`做什么?

  • 请注意,现在已记录:https://webpack.js.org/loaders/css-loader/#url https://webpack.js.org/loaders/css-loader/#import“从node_modules导入资产路径(包括resolve.modules),对于别名,请在其前面加上~”前缀。另外,请注意,它不是核心webpack功能,而是css-loader的功能。 (4认同)