Le projet en cours a réagi, webpack et postcss. L'intention ici est de créer un mixin global. J'ai essayé quelques façons et est venu aux résultats suivants.Webpack & PostCSS Fonction Les Mixins ne sont pas visibles
Première intention
var postCSSConfig = [
require('postcss-import'),
// require('precss'),
require('postcss-mixins')({
aloha: {
color: 'red'
}
}),
require('postcss-cssnext')({
browsers: ['last 2 versions', '> 5%'],
}),
]
module.exports = postCSSConfig;
En conséquence à l'aide @mixin aloha
à travers un projet ou mixins même pas encore défini n'affecte pas les feuilles de style, ni donne une erreur.
Deuxième intention.
module.exports = {
plugins: {
'postcss-import': {},
'postcss-mixins': {
aloha: {
color: 'red'
}
},
'precss': {},
'postcss-cssnext': {
},
},
};
A ce stade, il renvoie une erreur que @mixin aloha
n'est pas défini.
Webpack config
const path = require('path'),
webpack = require('webpack'),
HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: [
'react-hot-loader/patch'
'webpack-dev-server/client?http://localhost:8090',
'webpack/hot/only-dev-server',
'./index.js'
],
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'build'),
publicPath: '/'
},
context: path.resolve(__dirname, 'logic'),
devtool: 'inline-source-map',
devServer: {
hot: true,
contentBase: path.resolve(__dirname, 'build'),
publicPath: '/',
port: 8090
},
module: {
rules: [
{
test: /\.js$/,
use: [
'babel-loader',
],
exclude: /node_modules/
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader?modules',
'postcss-loader',
],
},
{
test: /\.(jpg|png|svg)$/,
loader: 'url-loader',
options: {
limit: 25000,
},
},
{
test: /\.(ttf|eot|woff|woff2)$/,
loader: 'file-loader',
options: {
name: 'fonts/[name].[ext]',
},
}
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(),
new HtmlWebpackPlugin({
template: './index.template.html'
})
],
}
Pouvez-vous s'il vous plaît suggérer ce qui pourrait me tromper?
@Thank vous, mon bon monsieur. Je suivais les méthodes décrites dans cette procédure pas à pas https://github.com/DavidWells/PostCSS-tutorial. Et cela a fonctionné, mais je viens de réaliser que le projet actuel est construit sur le webpack 2. Et malheureusement, même après les modifications de votre part, le problème est toujours là :( – volna
Cela fonctionne très bien d'après ce que j'ai testé. dans un sélecteur par exemple 'body {@mixin aloha}'? Parce que dehors il n'a aucun effet –
Je l'ai essayé sur les balises et les classes, quand je le définis dans les feuilles de style et les importe explicitement autour du projet ça marche. Je les vois de la façon dont nous discutons ici – volna