webpack3提取vue css,webpack 2.0从.vue文件里提取出单独的CSS文件

本文探讨了如何使用Webpack配置来处理Vue项目的样式资源,包括使用ExtractTextPlugin将CSS提取到单独的文件中,以及如何避免样式内联到HTML文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var path = require(‘path’)

var webpack = require(‘webpack’)

var util = require(‘./util/util.js’)

var HtmlWebpackPlugin = require(‘html-webpack-plugin’)

var ExtractTextPlugin = require(‘extract-text-webpack-plugin’)

var OptimizeCSSPlugin = require(‘optimize-css-assets-webpack-plugin’)

var config = {

entry: ‘./app/index.js’,

output: {

path: path.resolve(__dirname, './src'),

filename: 'build.js',

publicPath:'/'

},

module: {

rules: [

{ test: /\.vue$/,

loader: 'vue-loader'

},

{

test: /\.js$/,

loader: 'babel-loader',

exclude: /node_modules/

}

]

},

plugins: [

new HtmlWebpackPlugin(),

//webpack自带的压缩JS的插件

new webpack.optimize.UglifyJsPlugin({

compress: {

warnings: false

}

}),

new webpack.LoaderOptionsPlugin({

test:/\.css$/,

options: {

vue: {

loaders: {

css: ExtractTextPlugin.extract({fallback:'vue-style-loader', use:'css-loader'}),

},

},

}

}),

new ExtractTextPlugin('css/[name].css')

]

}

webpack(config,function(){

})

这个是webpack配置文件。

<div>

<div class="div"></div>

<div class="div2"></div>

</div>

.div{

width: 100px;

height: 100px;

background-color: red;

}

这个是.vue文件。打包出来以后样式是内联在html文件里。用JS动态写入。有点纠结。之前在网上找了很多但是都没没有解决。也看了vue-cli的源码,也没有找到答案。求高手指点指点。

{

test: /\.vue$/,

use: [{

loader: 'vue-loader',

options: {

loaders: {

css: ExtractTextPlugin.extract(....)

}

}

}]

}

3431402c1bcafac7e7cfb291f3f55629.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值