현재 프로젝트에는 react, webpack 및 postcss가 있습니다. 여기서 의도는 글로벌 믹스 인을 만드는 것입니다. 나는 몇 가지 방법을 시도하고 다음 결과를 얻었습니다.Webpack & PostCSS 기능 믹스가 표시되지 않습니다.
스타일에 영향을주지 않습니다 프로젝트에서 @mixin aloha
또는 아직 정의되지 않은 유지 mixin을 사용하여 그 결과 첫 번째 의도
var postCSSConfig = [
require('postcss-import'),
// require('precss'),
require('postcss-mixins')({
aloha: {
color: 'red'
}
}),
require('postcss-cssnext')({
browsers: ['last 2 versions', '> 5%'],
}),
]
module.exports = postCSSConfig;
,도 오류가 있습니다.
두 번째 의도. 이때
module.exports = {
plugins: {
'postcss-import': {},
'postcss-mixins': {
aloha: {
color: 'red'
}
},
'precss': {},
'postcss-cssnext': {
},
},
};
그것은 @mixin aloha
가 정의되지 않은 것을 에러가 발생.
웹팩 설정
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'
})
],
}
당신이 무슨 날 수도 잘못 제안시겠습니까?
@Thank 당신, 좋은 선생님. 이 연습을 통해 설명한 방법을 따르고있었습니다. https://github.com/DavidWells/PostCSS-tutorial. 그리고 그것은 효과가 있었지만, 현재 프로젝트가 webpack 2 위에 빌드되어 있다는 것을 깨달았습니다. 그리고 불행히도 여러분에게서 편집을 한 후에도 여전히 문제가 있습니다 : ( – volna
내가 테스트 한 것부터 잘 작동합니다. 믹스 인을 사용하고 있습니까? 외부의 아무 효과가 없으므로. –
태그 시트와 클래스에서 스타일 시트를 정의하고 프로젝트 내에서 명시 적으로 가져올 때 시도해 보았습니다.하지만 ' 우리가 여기에서 토론하는 방식을 보지 마라. – volna