Я работаю над веб-приложением React и испытываю странное поведение, когда использую bootstrap таблицу стилей из ссылки maxcdn и когда я импортирую "то же самое" css с локального диска.
index . html при загрузке по ссылке maxcdn
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-material@latest/dist/all.css"></link>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="description" content="Line Clearance">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="root"></div>
</body>
</html>
index.tsx выглядит следующим образом
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import App from './components/App'
import { RootStore } from './store/RootStore';
import '../images/favicon.ico';
import './css/kendo-theme-material-all.css';
import './css/font-awesome.min.css';
import '../node_modules/react-checkbox-tree/lib/react-checkbox-tree.css';
import '../images/cxv-icon.png'
import 'bootstrap/dist/css/bootstrap.min.css';
import { Route, BrowserRouter as Router } from 'react-router-dom';
class InnerApp extends React.Component{
componentDidMount(){
}
render(){
return(
<Provider rootStore = {new RootStore()}>
<App/>
</Provider>
)
}
}
ReactDOM.render(
<Provider>
<InnerApp/>
</Provider>
,
document.getElementById('root'));
Страница входа выглядит как - и это ожидается
Теперь, потому что веб-приложение не всегда имеет доступ к inte rnet и, следовательно, нет доступа на эту ссылку maxcdn он не загружается должным образом.
Я устал загружать bootstrap 3.3.7 или 4.0.0 и помещать их на диск, а затем импортировать их в файл index.tsx, но я не получаю ожидаемого поведения, как показано при входе в систему страница выше. Кроме того, все мои кнопки Material-UI, для которых, например, для свойства hidden установлено значение true, все еще отображаются на веб-странице.
index.tsx после изменения загрузки с диска
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import App from './components/App'
import { RootStore } from './store/RootStore';
import '../images/favicon.ico';
import './css/kendo-theme-material-all.css';
import './css/font-awesome.min.css';
import '../node_modules/react-checkbox-tree/lib/react-checkbox-tree.css';
import '../images/cxv-icon.png'
import './css/bootstrap-3.3.7/dist/css/bootstrap.min.css';
import { Route, BrowserRouter as Router } from 'react-router-dom';
class InnerApp extends React.Component{
componentDidMount(){
}
render(){
return(
<Provider rootStore = {new RootStore()}>
<App/>
</Provider>
)
}
}
ReactDOM.render(
<Provider>
<InnerApp/>
</Provider>
,
document.getElementById('root'));
Я также удалил загрузку из ссылки maxcdn из индекса. html, но даже если я сохраню ее, она все равно не будет работать. Я тоже пробовал с bootstrap 4.0.0, но у меня такое же поведение.
Кто-нибудь может объяснить, почему я получаю это, и есть ли способ загрузить это css с диска в отличие от ссылки maxcdn?
Спасибо.