从反应索引链接到css文件

Rem*_*s07 9 css reactjs webpack

我有这个简单的索引:

<!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>
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,在运行npm start之后,它无法访问css文件..所以我得到一个没有样式的页面.这是我项目的树:

  • 行动
  • 组件
  • 集装箱
  • DIST
  • 中间件
  • node_modules
  • 减速机
  • 商店
  • UI
  • --css
  • --font,真棒
  • 的index.html
  • index.js
  • webpack.config.js
  • 的package.json

Mμ.*_*Mμ. 14

如果你想在你的html中包含css,你必须将它们放在你的公共文件夹中并使用'%PUBLIC_URL%'作为你的CSS的路径.所以它看起来像这样:

<link href="%PUBLIC_URL%/bootstrap.min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

或者,强烈建议您在反应组件中导入所需的css,因为css会缩小并捆绑.所以你可以这样做:

import React, { Component } from 'react';
// ... rest of imports
import './path/to/css/font-awesome.min.css'
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请转到此处的文档.

  • 我只是想知道,我是如何忽略“注意上面标签中%PUBLIC_URL%”的使用的。在构建过程中它将被替换为公用文件夹的 URL。只能从默认 html 文件中的 HTML.` 引用公共文件夹内的文件... (2认同)