Я пытаюсь реализовать в своем проекте sass-loader на основе reactjs. Однако я получаю ошибку ниже каждый раз, когда создаю
ERROR в ./src/modules/Login/login.scss Сборка модуля завершилась неудачно (из ./node_modules/sass-loader/dist/c js. js): SassError: Invalid CSS after «// Imports»: ожидался 1 селектор или at-правило, было «var> ___CSS_LOADER_A» в строке 1 C: \ development \ basic_auth \ client \ src \ modules \ Login \ login.scss // Импортирует
Ниже мой webpack.config. js
const path = require('path');
const webpack = require('webpack');
const dotenv = require('dotenv');
const HWP = require('html-webpack-plugin');
const env = dotenv.config().parsed;
const envKeys = Object.keys(env).reduce((prev, next) => {
prev[`process.env.${next}`] = JSON.stringify(env[next]);
return prev;
}, {});
module.exports = {
watch: true,
entry: path.join(__dirname, '/src/index.js'),
devServer: {
port: process.env.PORT || 8080,
historyApiFallback: true,
},
output: {
filename: 'build.js',
path: path.join(__dirname, '/dist')
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
},
{
test: /\.(scss|css)$/i,
exclude: /node_modules/,
use: [
{
loader: 'sass-loader',
options: {
sourceMap: process.env.NODE_ENV !== 'production',
},
},
{
loader: 'css-loader',
options: {
sourceMap: process.env.NODE_ENV !== 'production',
}
}
],
},
]
},
plugins: [
new HWP(
{template: path.join(__dirname, '/public/index.html')}
),
new webpack.DefinePlugin(envKeys)
],
node: {
fs: "empty"
}
}
package. json
{
"name": "client",
"version": "0.1.0",
"private": true,
"main": "index.js",
"dependencies": {
"axios": "^0.18.0",
"classnames": "^2.2.6",
"dotenv": "^8.2.0",
"is-empty": "^1.2.0",
"jwt-decode": "^2.2.0",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-redux": "^7.0.3",
"react-router-dom": "^5.0.0",
"react-scripts": "3.0.1",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0"
},
"scripts": {
"proxy": "http://localhost:8081",
"test": "react-scripts test",
"eject": "react-scripts eject",
"start": "webpack-dev-server --mode development --inline",
"build": "webpack —-mode production"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@babel/cli": "^7.10.1",
"@babel/core": "^7.10.2",
"@babel/node": "^7.10.1",
"@babel/plugin-proposal-class-properties": "^7.10.1",
"@babel/preset-env": "^7.10.2",
"@babel/preset-es2015": "^7.0.0-beta.53",
"@babel/preset-react": "^7.10.1",
"babel-loader": "^8.1.0",
"css-loader": "^3.6.0",
"html-webpack-plugin": "^4.3.0",
"mini-css-extract-plugin": "^0.9.0",
"node-sass": "^4.14.1",
"sass-loader": "^8.0.2",
"sass-resources-loader": "^2.0.3",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"
}
}
login.s css
body {
background-color: #f2f3fa;
}
.login-content {
max-width: 900px;
margin: 100px auto 50px;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
}
.auth-head-icon {
position: relative;
height: 60px;
width: 60px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 30px;
background-color: #fff;
color: #5c6bc0;
box-shadow: 0 5px 20px #d6dee4;
border-radius: 50%;
transform: translateY(-50%);
z-index: 2;
}
.registerSectionWrapper {
background-color: #4a5ab9;
}
Я новичок во всей этой настройке. Если кто-нибудь может мне помочь, я буду благодарен