Рубрики
Без рубрики

Пошаговый шаг: создать реактивный проект с нуля

Создайте минималистский реагирование на пошаговой шаг и используйте его для изучения сложных тем.

Автор оригинала: Rajjeet Phull.

Не было времени? Клонировать репо и пойти!

git clone https://github.com/rajjeet/react-playbook
cd react-playbook/packages/react-basic
npm install
npm start

Создание очень простого приложения React App может быть очень полезным, когда вам нужно попробовать определенную функцию или библиотеку. Наличие этого навыка является обязательным для изучения и освоения реагирования. Я пойду на шаги для создания минималистичной настройки реагирования в посте. Конечный результат доступен на Github репо.

Шаг 1: Инициализировать NPM (управляющий узел пакета)

mkdir new-react-app
cd new-react-app
npm init --y

Мы можем использовать - Вы Чтобы получить базовую конфигурацию и леса для вашего узла проекта.

Шаг 2: Установить React, WebPack и Babel

npm install react react-dom 
npm install --save-dev webpack webpack-cli webpack-dev-server html-webpack-plugin @babel/core babel-loader @babel/preset-env @babel/preset-react

Вот что делает каждый пакет: реагировать : Библиотека UI для создания модульных компонентов React-Dom : позволяет нам сделать реакцию в браузере DOM WebPack : Bundler, который преобразует ваш исходный код на вывод для производства WebPack-Cli : позволяет WebPack работать с командами CLI WebPack-Dev-Server : Преобразует наш исходный код и обслуживает его на веб-сервере, когда мы разрабатываем его непрерывно. Это помогает использовать вывод вашего кода в браузере. html-webpack-plugin : расширение в WebPack, который добавляет базовый индекс HTML-файл @ Babel/Core : JavaScript транспортер для преобразования современного JavaScript в версию для производства, которая совместима со всеми браузерами. Babel-Loader : Подключает BABEL к процессу сборки WebPack @ babel/preset-env : Группа обычно используемых плагинов Babel в комплекте в предустановку, которая преобразует современные функции JavaScript в широко совместимый синтаксис @ Babel/Preset-React : Plugins, специфичные RACE Babel, которые преобразуют синтаксис JSX в простой старый JavaScript, который могут понять браузеры, которые могут понять

Быстрое примечание: --save-dev Флаг предназначен для разделения зависимостей в зависимости от разработки зависимостей, так что они не включены в добычу в производстве JavaScript

Шаг 3: Создайте файлы

Давайте создадим файлы сейчас.

touch webpack.config.js
mkdir src
cd src
touch index.js
touch index.html

Скопируйте и вставьте следующий код в каждый файл:

Это конфигурация WebPack. Это самый простой набор деталей конфигурации, с которым вы должны ознакомиться с тем, что он действует как база для начальной настройки и дальнейшей настройки.

webpack.config.js.
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  // the output bundle won't be optimized for production but suitable for development
  mode: 'development',
  // the app entry point is /src/index.js
  entry: path.resolve(__dirname, 'src', 'index.js'),
  output: {
  	// the output of the webpack build will be in /dist directory
    path: path.resolve(__dirname, 'dist'),
    // the filename of the JS bundle will be bundle.js
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
      	// for any file with a suffix of js or jsx
        test: /\.jsx?$/,
        // ignore transpiling JavaScript from node_modules as it should be that state
        exclude: /node_modules/,
        // use the babel-loader for transpiling JavaScript to a suitable format
        loader: 'babel-loader',
        options: {
          // attach the presets to the loader (most projects use .babelrc file instead)
          presets: ["@babel/preset-env", "@babel/preset-react"]
        }
      }
    ]
  },
  // add a custom index.html as the template
  plugins: [new HtmlWebpackPlugin({ template: path.resolve(__dirname, 'src', 'index.html') })]
};

Я рекомендую прочитать WebPack Документация Когда вам нужно развивать этот файл.

SRC/index.js.
import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(

Helloworld React!

, document.getElementById('root'));

Это точка входа приложения. Он использует React-Dom Библиотека для рендеринга заголовка внутри div с идентификатором корень Отказ Всякий раз, когда мы используем JSX, мы должны импортировать библиотеку RACT. Кроме того, благодаря Babel и пресетам, этот код преобразуется в простой старый JavaScript в файловом файле Bundle, чтобы все браузеры могли понять код.

SRC/index.html.

  
    Hello world App
  
  
  

Наш пользовательский HTML-файл с Div Тег для инъекционного реагирования и Сценарий Тег для загрузки пакета JS.

Шаг 4: Создание сценариев RUN NPM

Модифицировать Package.json Скрипты свойства включают следующие сценарии NPM:

  // package.json
    ...
  "scripts": {
    "start": "webpack-dev-server --open",
    "build": "webpack"
  },
  ...

Для производства вы должны создать отдельный конфиг, который расширяется и изменяет версию разработки.

Заключение

Вот и все сейчас. Даже после нескольких лет развития реагирования я все еще возвращаюсь к этому базовому проекту, чтобы проверить мои идеи. Фрезы, как Create-React-App и Nextjs Приятно для проектов, но мне нравится работать с нуля для песочницы.

Вот …| Github репо. Наслаждаться!