我有以下文件夹结构
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 文件,例如规范化和一个简单的网格系统,使用 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
文件,有什么方法可以重新编译资产?