3

在我的 webpack 配置中使用 style-loader 和 css-loader,下面是我的 webpack.config.js 的摘录

var wpconfig = {
    devtool: "source-map",
    entry : [
        './src/client/index.js'
    ]
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: '/assets/'
    },
    module:{
        loaders:[
            { test: /\.(jpg|gif)$/, loader: 'url-loader?limit=10000'},
            { test: /\.css$/, loader: 'style-loader!css-loader'   }

        ]
    },
    plugins: [
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.NoErrorsPlugin()
    ]
};

module.exports = wpconfig ;

当 JS 被禁用时,我可以看到样式没有写入<head>文档,因此页面呈现为纯文本。

四处挖掘我听说了extract-text-webpack-plugin,稍微更改配置就能够将 *.css 文件捆绑到一个文件中app.css并有效地加载它。

问题 :

  • 当 JS 被禁用时,我是否可以假设 style-loader 或 css-loader 无法将样式块写入 head?
  • 对于这种情况,使用 extract-text-webpack-plugin 是一个有效的解决方案吗?
  • 在这种情况下还有其他方法可以加载 CSS 吗?

PS:刚刚从 webpack 开始,所以如果 webpack.config.js 中有任何明显的问题,请指出。

4

1 回答 1

2

使用 ExtractTextPlugin 进行生产确实是一个有效的解决方案,所以如果您不需要任何分块,那么它就可以了。还允许 CSS 的最佳缩小。

我个人将 ExtractText 用于生产,并在开发中使用原始样式加载器。

于 2016-05-17T11:46:05.283 回答