110 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.4 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提交中,因为它们占用了大量的磁盘空间,并且可以使用`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 
 | ||
| ```
 | ||
| 
 | ||
| 现在,我们可以创建一个进入`src`文件夹的新`js`文件夹。这将包含我们所有的React代码:
 | ||
| ```
 | ||
| mkdir src/js 
 | ||
| ```
 | ||
| 
 | ||
| 我们可以继续在`src/js`创建一个空的`client.js` 。这将是我们的主要React文件:
 | ||
| ```
 | ||
| touch src/js/client.js 
 | ||
| ```
 | ||
| 
 | ||
| 我们还需要一个**不应该**进入我们的`src`文件夹的`index.html` ,而不是我们的`dist`文件夹,因为它是**生成**我们的应用程序所必需的:
 | ||
| ```
 | ||
| touch dist/index.html 
 | ||
| ```
 | ||
| 
 | ||
| 所以现在,我们的树看起来像这样:
 | ||
| ```
 | ||
| . 
 | ||
|  ├── dist 
 | ||
|  │   └── index.html 
 | ||
|  ├── node_modules 
 | ||
|  ├── package.json 
 | ||
|  ├── src 
 | ||
|  │   └── js 
 | ||
|  │       └── client.js 
 | ||
|  └── webpack.config.js 
 | ||
| 
 | ||
| ``` |