提取 CSS 到单个文件

  1. npm install extract-text-webpack-plugin --save-dev

简单的方法

requires vue-loader@^12.0.0 and webpack@^2.0.0
  1. // webpack.config.js
  2. var ExtractTextPlugin = require("extract-text-webpack-plugin")
  3. module.exports = {
  4. // other options...
  5. module: {
  6. rules: [
  7. {
  8. test: /\.vue$/,
  9. loader: 'vue-loader',
  10. options: {
  11. extractCSS: true
  12. }
  13. }
  14. ]
  15. },
  16. plugins: [
  17. new ExtractTextPlugin("style.css")
  18. ]
  19. }

上述内容将自动处理 *.vue 文件内的 <style> 提取,并与大多数预处理器一样开箱即用。

注意这只是提取 *.vue 文件 - 但在 JavaScript 中导入的 CSS 仍然需要单独配置。

手动配置

将所有 Vue 组件中的所有已处理的 CSS 提取为单个 CSS 文件配置示例:

  1. // webpack.config.js
  2. var ExtractTextPlugin = require("extract-text-webpack-plugin")
  3. module.exports = {
  4. // other options...
  5. module: {
  6. rules: [
  7. {
  8. test: /\.vue$/,
  9. loader: 'vue-loader',
  10. options: {
  11. loaders: {
  12. css: ExtractTextPlugin.extract({
  13. use: 'css-loader',
  14. fallback: 'vue-style-loader' // <- 这是vue-loader的依赖,所以如果使用npm3,则不需要显式安装
  15. })
  16. }
  17. }
  18. }
  19. ]
  20. },
  21. plugins: [
  22. new ExtractTextPlugin("style.css")
  23. ]
  24. }

原文: https://vue-loader-v14.vuejs.org/zh-cn/configurations/extract-css.html