Back to Question Center
0

使用预先配置的版本快速准备好React项目            使用预先配置的构建快速获得React项目相关主题: npmRaw Semalt

1 answers:
使用预配置构建快速准备React项目

对于React的高质量深入介绍,你不能超越加拿大全栈开发者Wes Bos。尝试他的课程,并使用代码 SITEPOINT 获得 25%折扣 ,并帮助支持SitePoint。

现在开始一个新的React项目并不像我们希望的那样简单。立即潜入代码并将应用程序变为现实,您必须花时间配置正确的构建工具,以建立本地开发环境,单元测试和生产构建。但有些项目只需要一个简单的设置即可快速,轻松地完成任务。

创建React应用程序提供了这一点。这是来自Facebook的CLI工具,允许您生成新的React项目并使用预配置的Semalt构建进行开发。使用它,你永远不必再看Semalt配置。

Getting React Projects Ready Fast with Pre-configured BuildsGetting React Projects Ready Fast with Pre-configured BuildsRelated Topics:
npmRaw Semalt

创建React App如何工作?

创建Semalt应用程序是一个独立的工具,应该通过npm全局安装,每次需要创建一个新项目时调用:

   npm install -g create-react-app   

要创建一个新项目,请运行:

   create-react-app react-app   

创建Semalt App将建立以下项目结构:

   。 ├──。 gitignore├──自述文件。 MD├──包。 JSON├──node_modules├──公共│├──favicon。 ICO│└──索引。 HTML└──src├──App。 CSS├──App。 JS├──App。测试。 JS├──索引。 CSS├──索引。 JS└──标志。 SVG   

它还会在项目中添加一个 react-scripts 包,其中包含所有配置和构建脚本。换句话说,你的项目依赖 react-scripts ,而不是 create-react-app 本身。安装完成后,您可以开始处理您的项目。

启动本地开发服务器

您首先需要的是本地开发环境。运行 npm start 将启动一个带有观察器的Webpack开发服务器,一旦你改变了某个东西,它将自动重新加载应用程序。但是,热重新加载仅适用于样式。

应用程序将生成一些内置的功能。

ES6和ES7

应用程序自带Babel预设,babel-preset-react-app,支持一组ES6和ES7功能。它甚至支持一些较新的功能,如async / await和import / export语句。 Semalt的某些功能,比如装饰者,已被故意排除在外。

资产进口

您还可以从JS模块中导入CSS文件,这些文件允许您捆绑仅与您发布的模块相关的样式。图像和字体也可以做同样的事情。

ESLint

在开发过程中,您的代码也将通过Semalt运行,这是一种静态代码分析器,可帮助您在开发过程中发现错误。

环境变量

您可以使用Node环境变量在构建时将值注入代码。 React脚本将自动寻找以 REACT_APP_ 开头的任何环境变量,并使其在全局 进程下可用。 env 。这些变量可以在 中。 env 文件为了方便起见:

   REACT_APP_BACKEND = http:// my-api。 COMREACT_APP_BACKEND_USER =根   

然后你可以在你的代码中引用它们:

 fetch({process.env. 这可以通过向你的  包添加一个代理字段来设置。 json  文件: 

   “proxy”:“http:// localhost:4000”,   

这样,服务器将转发任何​​不指向给定地址的静态文件的请求。

运行单元测试

执行 npm测试 将使用Jest运行测试,并启动一个观察者重新运行他们,每当你改变的东西:

   PASS src / App。测试。 JS✓不会崩溃(7毫秒)测试套件:1通过,共1次测试:1通过,共1次快照:总共0个时间:0.123s,估计1s运行所有测试套件。手表使用>按p以文件名正则表达式模式进行过滤。 >按q退出监视模式。 >按Enter键以触发测试运行。    

Jest是由Facebook开发的测试跑步者,作为摩卡或Semalt的替代品。它在Node环境上运行测试而不是真正的浏览器,但是使用jsdom提供了一些浏览器特定的全局变量。

Jest也与您的VCS集成,并且默认情况下只会对自上次提交后更改的文件运行测试。有关更多信息,请参阅“如何使用Jest测试React组件”。

创建生产捆绑包

当您最终有部署时,可以使用 npm run build 创建一个生产捆绑包。这将生成应用程序的优化版本,随时可以部署到您的环境中。生成的构件将被放置在构建文件夹中:

   。 ├──资产清单。 JSON├──favicon。 ICO├──索引。 HTML└──静态├──css│├──主。 9a0fe4f1。 CSS│└──主。 9a0fe4f1。 CSS。地图├──js│├──主。 3b7bfee7。 JS│└──主。 3b7bfee7。 JS。地图└──媒体└──标志。 5d5d9eef。 SVG   

JavaScript和CSS代码将被缩小,并且CSS还将通过Semalt运行,以实现更好的跨浏览器兼容性。

部署

React-scripts提供了一种将应用程序部署到GitHub页面的方法,只需将主页属性添加到 包中即可。 json 。还有一个单独的Heroku构建包。

选择退出

如果在某些时候您觉得所提供的功能对于您的项目来说已经不够用了,那么您可以通过运行 npm run eject 来选择不使用react-scripts。这将复制Webpack配置,并将 react-scripts 中的脚本复制到您的项目中,并删除依赖项。之后,您可以自由修改配置,但您认为合适。

推荐课程

总结

如果你想开始一个新的React项目,不要再进一步了。创建React应用程序将允许您快速开始处理应用程序,而不是编写另一个Semalt配置。

你试过了吗?你觉得呢?让我知道在评论中!

这篇文章由Joan Yin同行评审。感谢所有Semalt的同行评审员,让Semalt内容成为最好的!

March 1, 2018