繁体   English   中英

Webpack和外部(供应商).css

[英]Webpack and external (vendor) .css

我正在慢慢将Webpack引入现有项目。 此时,我们将require .css文件。 但是,我希望Webpack仍然处理它们。

我希望Webpack仅加载文件,将其传递到所需的任何.css加载器(在我们的情况下为Stylus ),然后输出.css文件。

ExtractTextPlugin,原始和文件加载程序,将加载程序传递到其他加载程序的任何组合均无法工作,Webpack不可避免地抛出

Module build failed: ParseError: ...bootstrap-theme.min.css:5:1996
   1| /*!
   2|  * Bootstrap v3.3.5 (http://getbootstrap.com)
   3|  * Copyright 2011-2015 Twitter, Inc.
...
expected "indent", got ";"

甚至可以像这样用Webpack处理外部文件吗?

尝试了多种组合:

  {
    test:   /\.(styl|css)/,
    loader: 'raw!stylus'
  }

  {
    test:   /\.(styl|css)/,
    loader: 'file!stylus'
  }


  {
    test:   /\.(styl|css)/,
    loader: ExtractTextPlugin.extract('file', 'raw!stylus')
  }


  {
    test:   /\.(styl|css)/,
    loader: ExtractTextPlugin.extract('style-loader', 'css-loader!stylus-loader')
  }

您不需要通过手写笔加载器传递css文件,只需传递.styl文件即可。

我设法使其与以下配置一起使用:

module.exports = {
  entry: {
    name: './test.js'
  },
  output: {
    filename: './bundle.js'
  },
  module: {
    loaders: [
      {
        test: /\.css$/,
        loaders: ['style', 'css']
      },
      {
        test: /\.styl$/,
        loaders: ['style', 'css', 'stylus']
      },
      {
        test:/\.(woff2?|eot|ttf|svg)$/,
        loader: 'url'
      }
    ]
  }
}

然后,您可以像这样导入/获取您的css文件:

require('./test.css');
require('./node_modules/bootstrap/dist/css/bootstrap.min.css');

您还可以添加CSS作为name的额外入口点:

module.exports = {
  entry: {
    name: [
      './test.js',
      './test.css',
    ],
  },
  /* … */
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM