web-dev-qa-db-fra.com

Lien vers des fichiers CSS à partir de l'index React

J'ai ce simple index:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">

<title>SB Admin - Bootstrap Admin Template</title>

<!-- Auth0Lock script -->
<script src="//cdn.auth0.com/js/lock-9.1.min.js"></script>

<!-- Bootstrap Core CSS -->
<link href="/ui/css/bootstrap.min.css" rel="stylesheet" />

<!-- Custom CSS -->
<link href="/ui/css/sb-admin.css" rel="stylesheet" />

<!-- Custom Fonts -->
<link href="/ui/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

 </head>
  <body>
    <div id="root">
    </div>
    <script src="/static/bundle.js"></script>
  </body>
</html>

Mais pour une raison quelconque, après avoir lancé npm start, il n'a pas accès aux fichiers css .. donc j'obtiens une page sans style. Voici l'arbre de mon projet:

  • actions
  • composants
  • conteneurs
  • dist
  • middleware
  • node_modules
  • réducteurs
  • boutique
  • ui
  • --css
  • --font-génial
  • index.html
  • index.js
  • webpack.config.js
  • package.json
9
Remis07

Si vous souhaitez inclure css dans votre html, vous devez les mettre dans votre dossier public et utiliser '% PUBLIC_URL%' comme chemin vers votre css. Cela ressemblerait donc à ceci:

<link href="%PUBLIC_URL%/bootstrap.min.css" rel="stylesheet" />

Alternativement, il est fortement recommandé d'importer le CSS que vous souhaitez à l'intérieur de votre composant React, car votre CSS serait réduit et regroupé. Vous pouvez donc faire quelque chose comme:

import React, { Component } from 'react';
// ... rest of imports
import './path/to/css/font-awesome.min.css'

Pour plus d'informations à ce sujet, consultez la documentation ici .

11
Mμ.