Введение
Material-UIэто группа, которая внедряет GoogleMaterial DesignКоллекция компонентов React, основанная на принципах дизайна. Ходят слухи, что использование Material-UI может сделать цвета нашей страницы более яркими, а эффект анимации более заметным (в соответствии со стилем дизайна Material Design), тогда позвольте мне показать вам ~
What is Material Design
Что такое материальный дизайн?
«Дизайн — это искусство творения, и наша цель — удовлетворить различные потребности людей. Потребности людей будут меняться со временем, и наши проекты, методы и идеи также будут улучшаться. Мы бросаем себе вызов, создавая для пользователей. Визуальный язык, который объединяет классические принципы хорошего дизайна с инновациями в науке и технике. Это Material Design». —— Что касается Material Design, его отец Google представил его так.
Стиль дизайна Material Design выглядит следующим образом:Его основная идея состоит в том, чтобы перенести опыт физического мира на экран.. Удалите примеси и случайность в реальности, сохраните ее наиболее первоначальную и чистую форму, пространственные отношения, изменения и переходы и сотрудничайте с гибкими характеристиками виртуального мира, чтобы восстановить наиболее реалистичный опыт для достижения лаконичного и интуитивного эффекта.
Принципы дизайна Material Design заключаются в следующем:
- Чувство вещества представляет собой метафору (создать отличительное касание через систематическое движение и разумное использование пространства);
- Яркий, красочный и хорошо продуманный (устанавливает основные требования к графическому дизайну для улучшения взаимодействия с пользователем);
- Значимые анимационные эффекты (разумные и значимые анимационные эффекты могут привлечь внимание пользователя и обеспечить непрерывное взаимодействие с системой);
Здесь я кратко представлю Material Design.Поскольку я не дизайнер, я не буду приводить это просторечие.Все зависит от вас, чтобы почувствовать это своим сердцем.Если вы заинтересованы в Material Design, вы можете обратить вниманиеОфициальные документы и спецификации.
Ма Люди, на ДЕМО
В нашем процессе настройки среды разработки мы будем использоватьnode.js
, так что нетnpm
студенты, пожалуйста, установите его самостоятельно.
Пожалуйста, принесите свои зависимости
Для начала создаем папку демо-проекта на любом диске нашего A, B, C, D, E, F, G и выполняем команду следующим образом:
# 创建demo项目文件夹
mkdir material-ui
cd material-ui
# 初始化package.json文件
npm init
Далее устанавливаем пакет зависимостей, т.к. Material-UI при написании использует некоторые фичи ES2015, поэтому будем использовать его в процессе настройкиBabel(Широко используемый транскодер, который может преобразовывать код ES6 в код ES5 для выполнения в существующих средах). мы также будем использоватьwebpack(в качестве загрузчика модулей и инструмента упаковки) выполните команду следующим образом:
# 安装Material-UI部分
npm install --save material-ui
# 安装React部分
npm install --save react react-dom react-tap-event-plugin
# 安装Babel转换器核心部分
npm install --save-dev babel-core babel-loader
# 安装Babel转换器的三个额外配置:ES2015(ES6),React,Stage1(ES7)
npm install --save-dev babel-preset-es2015 babel-preset-react babel-preset-stage-1
# 安装webpack
npm install --save-dev webpack
Настроить Бабель
Если вышеуказанный процесс завершен успешно, вpackage.json
добавить объект вbabel
, который родственен «зависимостям». Если что-то пойдет не так, поздравляю, пожалуйста, повторите описанный выше процесс еще раз и в то же время откройте режим стояния на коленях лицом на запад. . .
package.json
Содержание следующее:
"babel" : {
"presets" : [
"es2015",
"react",
"stage-1"
],
"plugins": []
}
настроить веб-пакет
Новые файлы конфигурации webpack в корневом каталоге нашего проектаwebpack.config.js
, содержание которого следующее:
var path = require('path');
var webpack= require('webpack');
module.exports = {
entry: './entry.js', // 入口文件
output: {
path: path.join(__dirname, '/dist'), // 打包路径
filename: 'bundle.js' // 打包文件名称
},
resolve: {
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [ {
test: /\.jsx?$/,
loaders: ['babel']
} ]
}
}
Написать панель приложений
Создайте новый проект в корневом каталоге проектаindex.html
, и представляем наш сгенерированныйbundle.js
, содержание следующее:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app"></div>
<script src="dist/bundle.js"></script>
</body>
</html>
Создайтеentry.js
, содержание которого следующее:
import React from 'react';
import ReactDOM from 'react-dom';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import AppBar from 'material-ui/AppBar';
const App = () => (
<MuiThemeProvider muiTheme={getMuiTheme()}>
<AppBar title="Hello World!" />
</MuiThemeProvider>
);
ReactDOM.render(<App />, document.getElementById('app'));
Введите в командной строкеwebpack
, выполнить операцию упаковки, после успешного выполнения команда отображается следующим образом:
Теперь вы можете видеть, что в каталоге есть dist/bundle.js, откройте index.html, эффект будет таким, как показано на рисунке:
До сих пор мы реализовали простую страницу с помощью компонента AppBar Material-UI. Кроме того, Material-UI также реализовал множество практических компонентов и позволяет нам изменять тему компонента, внутренние стили, цвета и другие операции настройки. . На этом этапе у вас должно быть предварительное представление о Material-UI.Если вы хотите узнать больше, обратитесь к егоОфициальный сайт.