сталкивается с большими трудностями при установке семантического интерфейса в реактивном проекте - PullRequest
0 голосов
/ 03 июля 2019

Я новичок в реакции и со вчерашнего дня пытался установить Semantic UI в свой проект реакции. Я уже устанавливал и переустанавливал свой проект несколько раз, но все еще не заставлял его работать. Я использую Webstrom IDE, Webpack 4 и Babel для настройки, и вот как все выглядит:

Webpack.config.js

const path = require('path')
const HtmlWebPackPlugin = require('html-webpack-plugin');

module.exports={
    entry: './src/index.js',
    output: {
        path: path.join(__dirname,'/dist'),
        filename: 'index_bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use:{
                    loader: 'babel-loader'
                }
            },
            {
                test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
                loader: require.resolve("url-loader"),
                options: {
                    limit: 10000,
                    name: "static/media/[name].[hash:8].[ext]",
                },
            },
            {
                test: [/\.eot$/, /\.ttf$/, /\.svg$/, /\.woff$/, /\.woff2$/],
                loader: require.resolve("file-loader"),
                options: {
                    name: "/static/media/[name].[hash:8].[ext]",
                },
            }
        ]
    },
    plugins: [
        new HtmlWebPackPlugin({
            template: './src/index.html'
        })
    ]
}

Package.json

{
  "name": "react",
  "version": "1.0.0",
  "description": "webpack practice",
  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --mode development --open --hot",
    "build": "webpack --mode production"
  },
  "author": "me",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.6",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "file-loader": "^4.0.0",
    "html-webpack-plugin": "^3.2.0",
    "url-loader": "^2.0.1",
    "webpack": "^4.35.2",
    "webpack-cli": "^3.3.5",
    "webpack-dev-server": "^3.7.2"
  },
  "dependencies": {
    "@babel/core": "^7.4.5",
    "@babel/preset-env": "^7.4.5",
    "@babel/preset-react": "^7.0.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "semantic-ui-css": "^2.4.1",
    "semantic-ui-react": "^0.87.2"
  }
}

.babelrc

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}

Задача

Проблема возникает, когда я использую import 'semantic-ui-css/semantic.min.css' эту строку в index.js. Выдает ниже упомянутую ошибку:

ERROR in ./node_modules/semantic-ui-css/semantic.min.css 11:0
Module parse failed: Unexpected character '@' (11:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https
://webpack.js.org/concepts#loaders
|  *
|  */
> @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);/*!
|  * # Semantic UI 2.4.0 - Reset
|  * http://github.com/semantic-org/semantic-ui/
 @ ./src/index.js 4:0-42
Child html-webpack-plugin for "index.html":
     1 asset
    Entrypoint undefined = index.html
    [./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html] 595 bytes {0} [built]
    [./node_modules/lodash/lodash.js] 527 KiB {0} [built]
    [./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 472 bytes {0} [built]
    [./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {0} [built]
i 「wdm」: Failed to compile.

Что я пробовал:

Я пробовал разные решения, начиная от добавления разных конфигов от загрузчика файлов, url-загрузчика до полной переустановки веб-пакета и следуя каждому небольшому руководству, показанному на https://react.semantic -ui.com / использовании / , но Я буквально застрял и не могу понять, что не так. Я никогда не думал, что это будет так сложно.

1 Ответ

1 голос
/ 03 июля 2019

Вы пропустили процессор css в конфигурации Webpack:

      {
        // Preprocess our own .css files
        // This is the place to add your own loaders (e.g. sass/less etc.)
        // for a list of loaders, see https://webpack.js.org/loaders/#styling
        test: /\.css$/,
        exclude: /node_modules/,
        use: ['style-loader', 'css-loader'],
      },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...