鍍金池/ 問答/HTML/ vue引入外部.css文件,webpack將其與.vue中的樣式混合打包了,怎么

vue引入外部.css文件,webpack將其與.vue中的樣式混合打包了,怎么辦?

先說明一下我遇到的問題:
我使用vue-cli搭自己的博客,希望引入公共樣式:

// main.js
import './assets/styles/common.css'

我本來是希望webpack打包后,能將這個樣式獨立打包,在生成的html文件中用<link href='/static/css/common.css'>這樣的形式引入,這樣瀏覽器就能緩存,各個頁面需要的話就import一下,也不用重新加載了,可是誰知道,webpack將我的common.css文件打包到了app.css中,混到一起了,這樣還復(fù)用個毛啊。。。
build/webpack.base.conf.js中有開關(guān),能啟用extract-text-webpack-plugin插件,我試過啟用

// vue-loader.conf.js
module.exports = {
  loaders: utils.cssLoaders({
    sourceMap: sourceMapEnabled,
    extract: true  // 這兒原本是isProduction,我給修改成true,打開extract開關(guān)
  }),
  ...
}


// webpack.base.conf.js
plugins: [
  new ExtractTextWebpackPlugin('common.css')
]

然而并沒有什么卵用,還是把我的common.css混到app.css中了。。。(下圖為npm run build后得到的css文件)

圖片描述

那么問題來了,挖掘,哦不對,是怎么配置webpack,才能實現(xiàn):組件中以import引入css文件,該css文件獨立打包,并以在生成的<link href='******'>的形式引入呢?

回答
編輯回答
笑忘初

如果你不想被打包,那就沒必要在js中引入了,直接在index.html頁面上<link href='******'>就好,對于大小而言,請求兩個單獨css文件,可能比單獨請求一個合并的css文件消耗更大的帶寬,而且增加了網(wǎng)絡(luò)請求數(shù)量,所以上線階段合并是更好的選擇。上線版應(yīng)該側(cè)重點于減少網(wǎng)絡(luò)請求量,提升加載速度,開發(fā)版才應(yīng)該側(cè)重于代碼美觀。

2017年1月8日 05:27
編輯回答
慢半拍

直接在index.html里引用不就可以了。。你又沒必要把common.css當(dāng)模塊使..

2017年9月22日 23:21