请参阅GitHub上的代码 。 在npmjs.com上了解更多
我更喜欢从头开始创建一个项目,它可以帮助您学习,研究并仅了解要添加的工具的工作方式。 新工具的使用频率越来越高,开始一个新项目并不是那么容易和快速。 例如,我认为React + Redux非常适合我的需求,因此我基于它启动了应用程序。 我想使用ES6,async / await等。 要运行所有这些东西,我需要配置Wepback,Babel和Gulp / Grunt也会有所帮助。 因此,要使所有这些都运行将需要很多时间。 因此,我决定准备并共享App Structure,以便通过构建配置更快地启动项目。
我们在这里可以找到什么?
服务器
服务器在Express框架上运行。 要启动服务器,请从根文件夹运行node index.js 。
文件被分成文件夹,因此,如果不需要节点服务器,只需删除index.js文件和server文件夹。
在运行服务器时,我们需要交付静态文件.html,.css,.js,图像。 因此,为此,我们正在侦听根文件夹./并提供index.html以获取我们拥有的两条路由。
React + Redux
检查文件夹结构。
- 操作 -是信息的有效负载,可将数据从应用程序发送到商店
- 组件 - 文件夹具有哑文件夹,其中存储了哑组件或演示组件, 智能组件或容器组件也存储在此处
- 页面 -基于路线的页面
- 减速器 -- 指定应用程序状态如何响应
- 资源 - 每个组件的HTTP请求文件
- 服务 - 可重用的全局服务,例如警报,通知服务
有关更多详细信息,您可以跳入任何文件夹并检查其中的文件。
在页面内文件夹中,您可能会找到App.jsx文件。 它占用所有页面并使用withRouter高阶组件连接()React Redux存储。
商店
商店在app/store.js文件中创建。 您可能会看到在生产过程中我们没有将redux-logger添加到中间件。
构建配置
剧本
看看package.json中的脚本。
您可能会看到三种构建类型dev,prod和staging。 开发人员构建我们同时运行Webpack和Gulp,因为它们彼此不依赖。
Webpack
对于生产和登台构建,我们需要最小化文件并将过程环境设置为production ,因此,我们正在使用webpack-merge
CDN
如果您想为静态文件(js,css,图像,字体)支持CDN,欢迎您。 在config.json文件中指定assetHost URL 您要使用CDN的版本的值。 构建完成后,您可能会在根index.html文件和.css图片/字体中看到前缀assetHost URL。
Gulp替换静态文件:
内部的咕unt图像和字体:
您可以下载存储库或通过npm npm i create-react-redux-app-structure并按照说明进行操作。 有关更多信息,请查看v4中的新增功能。
如果您错过了第一部分,请转到此处,找出关于????codeburst.io的create-react-redux-app-structure是什么
希望它能帮助您更快,更轻松地启动项目。
我希望得到您的帮助。 如果您有改进的想法,请更改应用程序结构,请提交请求请求或创建问题。
感谢您的阅读。 提出建议,评论,想法:)