110 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: React with Webpack File Structure
 | 
						||
localeTitle: Реагирование с файловой структурой Webpack
 | 
						||
---
 | 
						||
Теперь пришло время настроить нашу файловую структуру, прежде чем писать какой-либо код.
 | 
						||
 | 
						||
Во-первых, давайте создадим новый файл с именем `.gitignore` :
 | 
						||
```
 | 
						||
touch .gitignore 
 | 
						||
```
 | 
						||
 | 
						||
Этот файл будет содержать список всех файлов и папок, которые **не** будут включены, когда мы продвинем наш проект в GitHub. Существует веб-сайт, который предлагает шаблонный код для файлов `.gitignore` , что очень полезно, потому что часто файл `.gitignore` может быть довольно длинным и подробным, и мы можем забыть некоторые файлы или папки, которые мы хотим, чтобы Git игнорировал.
 | 
						||
 | 
						||
Перейдите в [https://www.gitignore.io/](https://www.gitignore.io/) и введите `Node` в строку поиска, затем нажмите « `Generate` . Это создаст файл, который выглядит так:
 | 
						||
```
 | 
						||
# Created by https://www.gitignore.io/api/node 
 | 
						||
 
 | 
						||
 ### Node ### 
 | 
						||
 # Logs 
 | 
						||
 logs 
 | 
						||
 *.log 
 | 
						||
 npm-debug.log* 
 | 
						||
 
 | 
						||
 # Runtime data 
 | 
						||
 pids 
 | 
						||
 *.pid 
 | 
						||
 *.seed 
 | 
						||
 
 | 
						||
 # Directory for instrumented libs generated by jscoverage/JSCover 
 | 
						||
 lib-cov 
 | 
						||
 
 | 
						||
 # Coverage directory used by tools like istanbul 
 | 
						||
 coverage 
 | 
						||
 
 | 
						||
 # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 
 | 
						||
 .grunt 
 | 
						||
 
 | 
						||
 # node-waf configuration 
 | 
						||
 .lock-wscript 
 | 
						||
 
 | 
						||
 # Compiled binary addons (http://nodejs.org/api/addons.html) 
 | 
						||
 build/Release 
 | 
						||
 
 | 
						||
 # Dependency directories 
 | 
						||
 node_modules 
 | 
						||
 jspm_packages 
 | 
						||
 
 | 
						||
 # Optional npm cache directory 
 | 
						||
 .npm 
 | 
						||
 
 | 
						||
 # Optional REPL history 
 | 
						||
 .node_repl_history 
 | 
						||
```
 | 
						||
 | 
						||
Теперь мы можем скопировать и вставить это в наш `.gitignore` файл.
 | 
						||
 | 
						||
Обратите внимание, что файл `.gitignore` должен всегда включать `node_modules` . Это чрезвычайно важно, потому что мы не хотим включать нашу папку `node_modules` с нашими Git- `node_modules` , поскольку они занимают много места на диске и могут быть установлены с `npm install` , что относится к нашему `package.json` .
 | 
						||
 | 
						||
Большинство файлов и папок, перечисленных в нашем файле `.gitignore` еще не существует в нашем проекте, но если они это сделают в будущем, они не будут включены в наши Git-коммиты, что важно и полезно, потому что мы должны быть избирательно о том, что мы совершаем.
 | 
						||
 | 
						||
Теперь нам нужно создать новую папку, которая будет содержать содержимое нашего кода **разработки** . Назовем это `src` :
 | 
						||
```
 | 
						||
mkdir src 
 | 
						||
```
 | 
						||
 | 
						||
Затем нам нужно создать папку, которая будет содержать файлы, которые мы используем для **производственных** целей. Мы будем называть эту папку `dist` :
 | 
						||
```
 | 
						||
mkdir dist 
 | 
						||
```
 | 
						||
 | 
						||
*   [Справка: Подробнее о папках `src` и `dist`](http://stackoverflow.com/questions/23730882/what-is-the-role-of-src-and-dist-folders/23731040#23731040)
 | 
						||
 | 
						||
Теперь, когда мы установили наши пакеты и создали пустые папки `src` и `dist` , наше дерево будет выглядеть так (не включая `.gitignore` , который является скрытым файлом):
 | 
						||
```
 | 
						||
. 
 | 
						||
 ├── dist 
 | 
						||
 ├── node_modules 
 | 
						||
 ├── package.json 
 | 
						||
 ├── src 
 | 
						||
 └── webpack.config.js 
 | 
						||
```
 | 
						||
 | 
						||
Теперь мы можем создать новую папку `js` которая входит в нашу папку `src` . Это будет содержать весь наш код React:
 | 
						||
```
 | 
						||
mkdir src/js 
 | 
						||
```
 | 
						||
 | 
						||
Мы можем пойти и создать пустой `client.js` в нашем `src/js` . Это будет наш основной файл React:
 | 
						||
```
 | 
						||
touch src/js/client.js 
 | 
						||
```
 | 
						||
 | 
						||
Нам также необходима `index.html` , который **не должен** идти в нашу `src` папку, а в нашу `dist` папку, так как он необходим для **производства** нашего приложения:
 | 
						||
```
 | 
						||
touch dist/index.html 
 | 
						||
```
 | 
						||
 | 
						||
Итак, наше дерево выглядит примерно так:
 | 
						||
```
 | 
						||
. 
 | 
						||
 ├── dist 
 | 
						||
 │   └── index.html 
 | 
						||
 ├── node_modules 
 | 
						||
 ├── package.json 
 | 
						||
 ├── src 
 | 
						||
 │   └── js 
 | 
						||
 │       └── client.js 
 | 
						||
 └── webpack.config.js 
 | 
						||
 | 
						||
``` |