vue服務端渲染,提取css單獨打包的好處就不說了,在這裏主要說的是抽取css的方法javascript
要從 *.vue
文件中提取 CSS,可使用 vue-loader
的 extractCSS
選項(須要 vue-loader
12.0.0+)css
// webpack.config.js const ExtractTextPlugin = require('extract-text-webpack-plugin') // CSS 提取應該只用於生產環境 // 這樣咱們在開發過程當中仍然能夠熱重載 const isProduction = process.env.NODE_ENV === 'production' module.exports = { // ... module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: { // enable CSS extraction extractCSS: isProduction } }, // ... ] }, plugins: isProduction // 確保添加了此插件! ? [new ExtractTextPlugin({ filename: 'common.[chunkhash].css' })] : [] }
請注意,上述配置僅適用於 *.vue
文件中的樣式,然而你也可使用 <style src="./foo.css">
將外部 CSS 導入 Vue 組件。vue
若是你想從 JavaScript 中導入 CSS,例如,import 'foo.css'
,你須要配置合適的 loader:java
module.exports = { // ... module: { rules: [ { test: /\.css$/, // 重要:使用 vue-style-loader 替代 style-loader use: isProduction ? ExtractTextPlugin.extract({ use: 'css-loader', fallback: 'vue-style-loader' }) : ['vue-style-loader', 'css-loader'] } ] }, // ... }