我真的心灰意冷,因为我找不到任何有用的资源。
我只想看我的.css文件,使用post css'插件转换它们,最后将它们导出到我的/ public文件夹,就像我已经使用我的.jsx文件一样
这是我的网络包配置
const path = require('path');
const webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
entry: path.resolve('src/index.jsx'),
output: {
path: path.resolve('public'),
filename: 'bundle.js'
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
devServer: {
publicPath: "/",
contentBase: "./public"
},
module: {
rules: [
{
test: /\.css$/,
exclude: /node_modules/,
loader: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
modules: true,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
}, {
loader: 'postcss-loader',
options: {
plugins: function() {
return [require('lost'), require('postcss-cssnext'), require('postcss-import')]
}
}
}
]
})
}, {
test: /\.jsx?$/,
use: [
{
loader: 'babel-loader',
options: {
presets: ['es2015', 'react']
}
}
],
exclude: /(node_modules|bower_components)/
}
]
},
plugins: [new ExtractTextPlugin("main.css")]
}
答案 0 :(得分:4)
我假设您使用的是webpack2
如果您希望单独转储css文件,则需要ExtractTextPlugin。这是我的css加载器工作
我在webpack配置中定义了post css插件,因为它保留在一个地方。希望这会有所帮助:
var ExtractTextPlugin = require('extract-text-webpack-plugin');
...
...
module.exports = {
...
...
module: {
rules: [
...
...
{
test: /\.css$/,
exclude: /node_modules/,
loader: ExtractTextPlugin.extract(
{ fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {
modules: true,
localIdentName:'[name]__[local]___[hash:base64:5]'
}
},
{
loader: 'postcss-loader',
options: {
plugins: function() {
return [
require('autoprefixer')
]
}
}
},
]
})
},
}
答案 1 :(得分:0)
也许您的插件创建错误。
尝试
return [require('lost')(), require('postcss-cssnext')(), require('postcss-import')()]
(注意()调用插件创建。)
你是否真的使用import / require()来包含你的CSS?如果不是你应该的话,没有什么神奇的东西可以使你的css全球化:)