ReactJs-ը գոյություն ունի արդեն բավականին երկար ժամանակ, բայց որպես react ծրագրավորող սկսելն իսկապես հեշտ չէ: Որպես ծրագրավորող, դուք պարզապես ցանկանում եք տեղադրել գրադարանը, կախվածությունները, կարգավորել ձեր զարգացման միջավայրը և սկսել անել այն, ինչ գիտեք, թե ինչպես անել լավագույնս (կոդավորում):
React-ի համար դուք պետք է ցատկեք մի քանի խոչընդոտների վրայով, նախքան զարգացնելու կամ փորձարկելը լիովին կարգավորեք: Ձեր զարգացման միջավայրի կարգավորումը կարող է տևել մի քանի ժամից մինչև մի քանի օր: Ձեր լուծումը կառուցելու փոխարեն այն իսկապես զայրացնում է կարգավորումը: Ես եղել եմ այնտեղ, և դա ծիծաղելի չէր:
Կան բազմաթիվ React ձեռնարկներ, և պաշտոնականը այստեղ ապահովում է ReactJs-ի հետ սկսելու շատ սահուն միջոց, սակայն փորձառու մշակողի համար դա բավականաչափ լավ չէ: Դուք կցանկանաք ընդունել լավագույն փորձը, օգտագործել այն գործիքները, որոնք դուք գիտեք և որոշակի ձևով կառուցեք ձեր արձագանքման նախագիծը:
Ես Bootstrap-ի և Fontawesome-ի մեծ երկրպագու եմ; Ես սիրում եմ այս գրադարանները ներառել իմ վեբ նախագծերի մեծ մասում: Bootstrap 4-ի և Fontawesome-ի վերջին թողարկումով 2018-ին, իսկապես այնքան շատ բան կա, որին կարող եք հասնել նվազագույն ջանքերով, օգտագործելով այս գործիքները: Webpack-ն այն գործիքն է, որը ես սկսել եմ սիրել, և դա զարմանալի գործիք է, որը շատ ավելի հեշտացնում է կյանքը մշակողի համար: Այս գործիքների մասին ավելին կարող եք կարդալ իրենց համապատասխան կայքերում:
Այս հոդվածում մենք կքննարկենք
- ReactJs նախագծի ստեղծում զրոյից
- Մոդուլի փաթեթի կարգավորում (Webpack) ավտոմատ փաթեթով պահպանման և դիտարկիչի վերաբեռնման ժամանակ
- Bootstrap-ի ինտեգրում ձեր նախագծում
- fontAwesome-ի ավելացում ձեր նախագծին (հետագայում)
Դուք կարող եք կլոնավորել React Webpack Starter նախագիծը github-ում և փորձել այն
Հիմա եկեք սկսենք…
Ստեղծել React Project
Օգտագործելով ձեր տերմինալը կամ հրամանի տողը, նավարկեք դեպի այն վայրը, որտեղ ցանկանում եք պահել ձեր նախագծի ֆայլերը և ստեղծեք գրացուցակ այս հրամանով. mkdir react-project
Նավարկեք ձեր նոր նախագծի cd react-project
Նախաձեռնեք հանգույցի նախագիծը npm init
-ով և հետևեք հրահանգներին՝ տրամադրելու պահանջվող տեղեկատվությունը (եթե ձեր ապարատում NodeJs տեղադրված չէ, գնացեք NodeJS կայք, ներբեռնեք տարբերակը ձեր ՕՀ-ի համար և տեղադրեք)
Տեղադրեք փաթեթներ
Մենք պետք է տեղադրենք մի քանի գլոբալ փաթեթներ, որոնք կօգնեն փոխակերպել մեր կոդը և միավորել ակտիվները ES6 ստանդարտներին: Մենք պետք է տեղադրենք babel և webpack
npm install babel babel-cli webpack webpack-cli webpack-dev-server -g
Այժմ մենք կշարունակենք տեղադրել React և babel պլագինները տեղում
npm install react react-dom --save
Տեղադրեք babel պլագինները տեղական միայն մշակողի վրա
npm install babel-core babel-loader babel-react babel-preset-env --save-dev
Եկեք տեղադրենք ևս մի քանի մոդուլներ կատարելագործման համար
npm install path open-browser-webpack-plugin --save-dev
path
մոդուլն օգնում է ձեզ լուծել դիրեկտորիաները, մինչդեռ բրաուզերի պլագինը հնարավորություն է տալիս ակտիվները կազմելուց հետո զննարկչի ավտոմատ գործարկումը: Բավական է այս տեղադրումներով: Եկեք անցնենք գործի:
տեղեկատուի կառուցվածքը
Ռեակտիվ ճակատային հավելվածներ ստեղծելիս սովորական պրակտիկա է դարձել src
դիրեկտորիաներն առանձնացնել հանրային հասանելի գրացուցակներից: Ես որոշեցի ընդունել ստորև նշված գրացուցակի կառուցվածքը, քանի որ այն ինձ լավ է զգում: Այնուամենայնիվ, դուք կարող եք այն հարմարեցնել ձեր նախընտրած ոճին:
react-project - dist - assets bundle.js index.html - node_modules - src App.jsx index.js .babelrc package.json webpack.config.js
Հիմնականում մենք կավելացնենք մի քանի ֆայլ և երկու գրացուցակ մեր նախագծի արմատին: Դուք կգտնեք բոլոր տեղադրված հանգույցների մոդուլները node_modules-ում, որոնք արդեն ստեղծվել են տեղադրման ժամանակ:
Հաճելի կլինի բացել գրացուցակը ձեր սիրելի տեքստային խմբագրիչի pr IDE-ում և ստեղծել երկու գրացուցակ src
և dist
ձեր նախագծի արմատում:
ստեղծել .babelrc
նախագծի արմատում և ավելացնել այս կոդը
// .babelrc { "presets": ["env"] }
ստեղծել webpack.config.js
և ավելացնել այս կոդը դրան
// Import webpack module var webpack = require("webpack"); // Import open browser plugin var OpenBrowserPlugin = require('open-browser-webpack-plugin'); //Import path module const path = require('path'); module.exports = { entry: "./src/index.js", //set entry file // Resolve to output directory and set file output: { path: path.resolve("dist/assets"), filename: "bundle.js", publicPath: "assets" }, // Add Url param to open browser plugin plugins: [new OpenBrowserPlugin({url: 'http://localhost:3000'})], // Set dev-server configuration devServer: { inline: true, contentBase: './dist', port: 3000 }, // Add babel-loader to transpile js and jsx files module: { rules: [ { test: /\.jsx?$/, exclude: /(node_modules)/, use: [ {loader: 'babel-loader'}, query: {presets: ["react"]} ] }] } }
Նավարկեք src
գրացուցակ և ավելացրեք երկու ֆայլ
//Filename ./src/index.js // Import resources import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; // Render main app ReactDOM.render(<App/>, document.getElementById('app'));
Ավելացնել բովանդակություն App.jsx-ում
//Filename ./src/App.jsx // Import react import React from 'react'; class App extends React.Component { render() { return (<div><h1>Hello World in React</h1></div>);}} export default App;
Այնուհետև անցեք մեր բաշխման գրացուցակը կարգավորելու և ավելացրեք ./dist/assets
գրացուցակը և index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>React Project Starter</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div id="app"></div> <script type="text/javascript" src="assets/bundle.js"></script> </body> </html>
Առայժմ դա պետք է լիներ: Ստուգեք, որ ձեր ֆայլերը գտնվում են ճիշտ գրացուցակում, այնուհետև գնացեք package.json
՝ որոշ ճշգրտումներ կատարելու և գործարկելու համար: Սցենարների բաժնում ջնջեք թեստերը և փոխարինեք սկրիպտները սրանով..
... "scripts": { "start": "webpack-dev-server --hot --mode development" }, ...
Մենք բոլորս պատրաստ ենք հիմա գործարկել: Ձեր տերմինալում անցեք նախագծի գրացուցակ react-project
և գործարկեք այս հրամանը
npm start
Webpack-ը կշարունակի և կհամալրի ձեր ակտիվները և կպահի bundle.js
-ին, այնուհետև գործարկեք ձեր դիտարկիչը localhost:3000
-ին, և դուք պետք է տեսնեք սա, եթե ամեն ինչ լավ ընթանա:
Այժմ, երբ մենք ունենք մեր հիմնական կարգավորումն աշխատում, ժամանակն է ավելացնել bootstrap մեր նախագծին և դարձնել այն պատասխանատու:
npm install bootstrap --save
Bootstrap-ն ունի կախվածություն, և մենք պետք է նաև տեղադրենք վեբ փաթեթ բեռնիչներ styles
, sass
և այլնի համար: Եկեք նախ տեղադրենք javascript-ի կախվածությունները:
npm install jquery popper.js --save
Այնուհետև մենք տեղադրում ենք վեբ փաթեթ բեռնիչներ
npm install style-loader css-loader postcss-loader precss autoprefixer sass-loader --save
Այժմ մենք մի քանի փոփոխություններ ենք կատարում, և մեր Bootstrap-ը գործարկվելու է
Սկզբում մենք ներմուծում ենք bootstrap ռեսուրսներ index.js
-ում և այն այժմ դառնում է
// Import resources import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; // Import bootstrap css import 'bootstrap/dist/css/bootstrap.min.css'; // Render main app ReactDOM.render(<App/>, document.getElementById('app'));
Այնուհետև մենք թարմացնում ենք webpack.config.js
-ը, որպեսզի ավելացնենք նման ոճ և css բեռնիչներ
// Import webpack module var webpack = require("webpack"); // Import open browser plugin var OpenBrowserPlugin = require('open-browser-webpack-plugin'); //Import path module const path = require('path'); module.exports = { entry: "./src/index.js", //set entry file // Resolve to output directory and set file output: { path: path.resolve("dist/assets"), filename: "bundle.js", publicPath: "assets" }, // Add Url param to open browser plugin plugins: [new OpenBrowserPlugin({url: http://localhost:3000'})], // Set dev-server configuration devServer: { inline: true, contentBase: './dist', port: 3000 }, // Add babel-loader to transpile js and jsx files module: { rules: [ { test: /\.jsx?$/, exclude: /(node_modules)/, use: [ {loader: 'babel-loader'}, query: {presets: ["react"]} ] }, { test: /\.css$/, use: ['style-loader', 'css-loader'] } ] } }
Վերջապես, մենք թարմացնում ենք App.jsx
-ը bootstrap jumbotron-ով, որպեսզի փորձարկենք այդպես
//Filename ./src/App.jsx // Import react import React from 'react'; class App extends React.Component { render() { return ( <div> <div class="jumbotron"> <h1 class="display-4">Amazing React, Bootstrap and Webpack</h1> <p class="lead">Created with love</p> <hr class="my-4"/> <p>It uses utility classes for typography and spacing to space content out within the larger container.</p> <p class="lead"> <a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a> </p> </div> </div> );}} export default App;
Այժմ դուք պետք է տեսնեք այս գեղեցիկ տեսք ունեցող էջը
Շնորհավորում եմ
Մինչ այժմ մենք կարողացել ենք կարգավորել React-ը, Webpack-ը և Bootstrap 4-ը: Հուսով եմ, որ հաջորդ մի քանի օրվա ընթացքում կհետևեմ այս հոդվածին ևս մի քանի թարմացումներով react-ով կառուցելու վերաբերյալ:
Ազատորեն կլոնավորեք ռեպո և խաղացեք դրա հետ: Happy Hacking