【发布时间】:2018-07-01 11:17:36
【问题描述】:
我正在使用 webpack、babel 和 Sass 构建应用程序。一切正常,但 sass 文件没有编译 css 文件,即使它没有抛出任何错误。 我与此相关的包裹是:
"webpack": "^3.10.0",
"css-loader": "^0.28.9",
"extract-text-webpack-plugin": "^3.0.2",
"glob-all": "^3.1.0",
"node-sass": "^4.7.2",
"purify-css": "^1.2.5",
"purifycss-webpack": "^0.7.0",
"sass-loader": "^6.0.6"
webpack.config.js:
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
const glob = require('glob-all');
var PurifyCSSPlugin= require('purifycss-webpack');
module.exports = {
entry: './src/js/index.js',
output: {
path: __dirname,
filename: 'dist/js/bundle.js'
},
watch: true,
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['env', 'stage-3'],
}
}
},
{
test:/\.css$/,
use: ExtractTextPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
url: false
}
}
]
})
},
{
test:/\.scss$/,
use: ExtractTextPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
url: false
}
},
'sass-loader'
]
})
}
]
},
plugins: [
new ExtractTextPlugin({
filename: './dist/css/styles.css'
}),
new PurifyCSSPlugin({
paths: glob.sync([
path.join(__dirname, 'dist/index.html'),
path.join(__dirname, 'src/js/*.js')
])
})
]
}
【问题讨论】:
-
能否显示加载css、scss等样式的位置...
-
请注意,您必须将
lang="scss"添加到样式标签中才能正常工作。不是type="scss"。 -
loader: ['style-loader', 'css-loader', 'sass-loader'] -
@s84 图片添加
-
@sultanaslam 我的意思是在这个问题中添加加载样式的代码,例如样式标签、要求等,这样我们就可以看到 webpack 是如何找到它的