webpack如何提取vue组件的css到独立文件中
现在是单独import
进来的样式文件可以单独提取出来,而在vue
组件中的样式还是跟js
打包到一块儿的,要怎么才能把vue
组件中的样式也单独提取出来放到一个外部的样式文件中呢?
完整配置信息,可以将Vue组件的CSS提取出来了,webpack.config.js
:
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
entry: './js/main.js',
output: {
path: __dirname,
filename: '../static/js/app.js',
},
module: {
loaders: [
{
test: /\.vue$/,
loader: 'vue',
},
{
test: /\.js$/,
loader: 'babel',
},
{
test: /\.(png|jpg)$/,
loader: 'url?limit=8192',
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader'),
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader!sass-loader'),
},
],
},
vue: {
loaders: {
sass: ExtractTextPlugin.extract('vue-style-loader', 'css-loader!sass-loader'),
},
},
plugins: [
new ExtractTextPlugin('../static/css/style.css', {
allChunks: true,
}),
],
};
vue
组件:
<style lang='sass'>
@import "../../scss/_css3Module.scss";
@import "../../scss/_retinaLine.scss";
.help-title {
margin: 0;
}
.help-title,
.help-item {
display: block;
padding: 10px;
text-align: center;
background-color: #f1f1f1;
margin-bottom: 5px;
}
</style>
<template lang='jade'>
h1.help-title 常用Vue组件
a.help-item
Geo
a.help-item(@click='modalShowEvent(true, false)') 两按钮的弹框
a.help-item(@click='modalShowEvent(true, true)') 一个按钮的弹框
a.help-item(@click='modalShowEvent(true, false, "one")') 弹框确认事件1
a.help-item(@click='modalShowEvent(true, true, "two")') 弹框确认事件2
modal(v-show='modalToggle')
p(slot='content') 这是外边的内容
</template>
<script lang='babel'>
import Geo from './common/geolocation.vue';
import Modal from './common/modal.vue';
import { modalShowEvent } from '../store/actions/modal';
import { modalToggle, modalCancelBtn } from '../store/getters';
export default {
components: {
Geo,
Modal,
},
vuex: {
getters: {
modalToggle,
},
actions: {
modalShowEvent,
},
},
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
webpack.config.js
里要使用如下套路:你需要为`vue components组件配置css-loader
和
module
,plugins
同级类似
可以参考https://github.com/vuejs-templates/webpack
用
cssLoaders
函数兼容其他css
预处理语言楼主你的这个问题应该解决了吧?可以请教一下吗?我也遇到这个问题