css - 缩小并添加哈希到 css 文件 webpack

标签 css angular webpack

我正在为我的 Angular 2 元素使用 webpack。 在 src 文件夹中,我有一个全局 css 文件夹 和 component 以及其他文件夹。

我的 webpack.config.js 在 src 文件夹之外。

我正在使用 CopyWebpackPlugin 将 css 文件夹复制到 dist 文件夹:

new CopyWebpackPlugin([
      { from: 'src/css', to: 'css'}
  ]),

我也在为 css 使用以下加载器:

exports.css = {
  test: /\.css$/,
  loader: 'to-string!css?-minimize!postcss',

};

但问题是我想为每个 css 文件名添加一个散列,然后更改 index.html 中的 css 文件名,因为这些是包含在 index.html 中的全局文件。实现这一目标的最佳方法是什么?

编辑:在更改代码时我意识到 loader 属性仅适用于 components 文件夹内的 css 而不适用于外部文件夹。这是为什么?

最佳答案

使用https://github.com/webpack/extract-text-webpack-plugin .

webpack.config.js 中的示例

config.plugins.push(
    new ExtractTextPlugin({filename: 'css/[name].[hash].css'})
);
...
config.module = {
   rules: [
       {
          test: /\.css$/,
          exclude: root('src', 'app'),
          loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: ['css', 'postcss']})
       }
   ]
}

关于css - 缩小并添加哈希到 css 文件 webpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41261049/

相关文章:

html - Flexbox 有时不起作用,然后突然又起作用了

css - 嵌套 CSS 有哪些问题/缺点?

angular - Bootstrap \SASS : Wrong number of arguments (3 for 2) for `table-row-variant'

npm - 保存文件时 webpack-dev-server 不更新包

javascript - 无法导入包以 react 样板

javascript - webpack grunt 2 任务

jquery - Bootstrap 工具提示违抗我

javascript - 在哪里可以找到或覆盖 _navbar.scss?

javascript - 如何在 Angular2 中包含 Youtube Iframe API?

angular - 注销后的 Ionic2 选项卡仍显示在导航页面中,我在这里错过了什么?