【发布时间】:2017-06-06 00:30:39
【问题描述】:
我有以下文件夹结构
src/
assets/
css/
subfolder/
imported.css
main.css (-> imports "imported.css" with "postcss-import")
components/
Component1.vue
App.vue (imports "main.css")
main.js
我正在使用vue-loader 编译.vue 文件。在 App.vue 中,我正在导入 main.css 文件(该文件导入多个其他 css 文件,例如 normalize 和一个简单的网格系统,带有 postcss-import)。
<template>
</template>
<script>
</script>
<style src="./assets/css/main.css"></style>
为了编译所有内容,我使用了具有以下配置的 Webpack 和 Webpack Dev Server:
var path = require('path')
var webpack = require('webpack')
module.exports = {
entry: './src/main.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
postcss: [
require('postcss-import')(),
require('postcss-cssnext')(),
require('postcss-reporter')()
]
}
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
resolve: {
extensions: ['.js', '.css', '.vue']
},
devServer: {
historyApiFallback: true,
noInfo: true
},
performance: {
hints: false
},
devtool: '#eval-source-map'
}
这适用于除我的imported.css 文件之外的每个文件。每当我修改并保存它时,Webpack (Dev Server) 都不会重新编译我的资产。我必须手动切换到我的main.css 文件或任何.vue 文件并保存该文件以重新编译。即使我保存了imported.css 文件,是否有任何方法可以重新编译资产?
【问题讨论】:
标签: webpack webpack-dev-server webpack-2 postcss postcss-import