首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用 esbuild 替换 Create React App 中的 Webpack

这是你第一次运行npm run build,你发现运行该命令需要花费20秒。"这是我唯一一次部署",你告诉自己,并忽略了构建所需的时间。 你加载很炫酷的新网站,却发现上面有一个错别字。...这不是一个编造的故事。这是我目前在Kaizen做的一个音乐应用程序的情况。 在其他项目中,我看到生产环境构建时间已经膨胀到超过一分钟。在一个较慢的构建机器上运行时,有时需要两倍的时间。...npm run build 在默认的create-react-app应用程序中,你应该会看到以下错误: esbuild-errors.png 启用JS文件的JSX语法 前两个错误建议在构建命令中加入...esbuild-success.png 在我的电脑上,这个构建命令现在大概需要60毫秒。比起6秒的webpack构建,快了整整100倍。但是还没结束,我们仍需要真正的看到并运行这些改动。...有了esbuild,你将看到应用程序会如期运行,而且初始构建和后续构建都快如闪电。 总结 只需仅仅几步,我们就将一个6秒的构建转换为60毫秒的构建。

2.7K20

定制 create-react-app:如何制作自己的模版

作为一个需要支持以上我高亮过的功能的开发者,一个办法就是运行 npm run eject。这条命令拷贝所有配置文件和依赖到你的项目中,然后你可以通过所有这些工具手动配置你的应用以达到满意。...开发者面对 eject 时的主要挑战一是无法再享受 CRA 之后的新特性了,二是在团队内同步设置会非常低效。...在 packages 目录内,有一个叫做 react-scripts 的文件夹。该文件夹包含了用于构建、测试和启动你的应用的脚本。事实上,这就是我们能作出改进的地方,可以配置并增加新的脚本和模版。...CRA 会执行安装,然后你将看到: ? 记得吗?我们早先把这些信息放在了代码里。太棒了!...现在,在终端中进入 test-app 目录,重命名 .env.example 为 .env 并运行 npm start 命令。 你的应用会以新模版启动: ?

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我的第一个React应用

    (实际上我对于Java更加感兴趣),所以现在对于前端框架的了解可能只是知道一些名词了。...我们先来看一下如何使用这种命令,然后再看以下这个命令行的作用 //全局安装create-react-app npm install -g create-react-app 我在安装create-react-app...当这里应用就成功的创建了,之后我们使用npm start来启动React 我这里出现报错,同事跟我说要我把node_moudle文件夹删掉,在项目的目录下重新运行 npm install命令 ?...现在如果你正在搭建react运行环境,使用 create-react-app 去自动构建你的app程序。你的项目所在的文件夹下是没有配置文件。...react-scripts 是唯一的 额外的 构建依赖在你的package.json中,你的运行环境将有每一个你需要用来构建一个现代React app应用程序。

    2.1K51

    一道不一样的前端架构师最终面试题 【实用系列】

    ---- 加入webpack工程化构建的变异版本,选中此html为模板,问, 如果其他通过webpack构建的文件发生了致命错误,例如因为做了tree sharking,没有兼容低版本浏览器,此时可以捕获到全局错误吗...,并执行该元素上的onerror()处理函数。...---- Error Boundaries(错误边界)配合webpack+系统的onerror错误捕获 有人说使用 create-react-app 创建的项目,在开发环境,就算使用了 componentDidCatch...所以我们在开发项目时,需要去捕获错误边界的错误,并提供一个备用UI,那么被错误边界捕获的错误,还会冒泡到window中吗 ---- 多说无益,我们先实践 ​ 我们先定义一个错误边界,然后html...由于现在的错误监控、上报已经形成了一套完整的商业链,这方面并不是我的强项,如果写得不对的地方,欢迎指出,架构师岗位面试,更考察你对项目整体把控能力,最后出现这个题目,我觉得也正常 ---- 本开源项目gitHub

    2.8K10

    使用 Electron 和 React 构建桌面应用

    说白了就是用这个框架,你可以在使用前端技术来开发桌面应用,原理是在本地应用上跑一个抽出来的浏览器,浏览器上放你写的页面。...Node.js Node.js 的出现,无非是前端发展的一个里程碑,它的出现,将前端推向了一个新的高峰。 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。...但是随着 Node.js 和构建工具的出现,人们开始想,那么多请求都要交由后端来做岂不是很麻烦,而且从某种意义上,Web 网站本身就是一个应用,其中的地址变化处理的逻辑应该在应用内部解决,只有涉及到后端需求的...使用 npm 全局安装它: npm install -g create-react-app 安装完 create-react-app 之后,我建议使用 WebStorm 来创建项目,因为 WebStorm...create-react-app 以供你创建项目: WebStorm创建项目 第一栏是你项目的位置,自己选一个并且取好项目名即可,第三栏如果报红色错误则说明你的 create-react-app 工具没能被识别或者没能被安装

    3.8K20

    react开发环境搭建

    打开浏览器查看项目 你可以在浏览器中访问 http://localhost:3000,你会看到 create-react-app 默认生成的欢迎页面。...(y) 输入y即可 react项目文件讲解 在一个使用 create-react-app 工具创建的 React 项目中,默认的项目结构包含了一些标准的文件和目录。...在最新版本的 create-react-app 中,这个文件可能被移除或不推荐使用。...package-lock.json 锁定依赖版本的文件。它确保在不同的机器上安装的依赖版本一致。 README.md 项目的说明文件。你可以在这里添加项目的概述、使用说明、安装步骤等。...❝您好,我是肥晨。 欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

    6510

    React 面试必知必会 Day8

    大家好,我是洛竹?,一只住在杭城的木系前端?,如果你喜欢我的文章?,可以通过点赞帮我聚集灵力⭐️。...React 已经具备了在 Nod e服务器上处理渲染的能力。有一个特殊版本的 DOM 渲染器,它与客户端的模式相同。...# 安装 $ npm install -g create-react-app # 创建新项目 $ create-react-app todo-app $ cd todo-app # 构建、测试、运行...一个实时的开发服务器,对常见的错误发出警告。 一个构建脚本,用于捆绑 JS、CSS 和图片,并提供哈希和源码图。 4. 安装中的生命周期方法的顺序是什么?...在 React v16 中,有哪些生命周期方法将被废弃? 以下生命周期方法将是不安全的编码做法,在异步渲染中会出现更多问题。

    2.4K40

    React-脚手架

    安装和使用 create-react-app安装:npm install -g create-react-app使用 create-react-app 创建项目:create-react-app 项目名称...cd 项目名称npm start注意点1如果我们是通过 create-react-app 来创建 React 项目, 那么在指定项目名称的时候, 项目的名称只能是 英文, 并且只能是 小写字母,如果出现了多个单词..., 那么我们需要通过 _- 来连接,例如:myName ->my_name -> my-name2第一次运行项目的时候大概率会出现一个错误, 会出现本地 webpack 的版本和项目依赖的 webpack...版本不同的错误,如果遇到了这个错误, 我们就需要先通过 npm uninstall webapck 卸载掉本地的 webpack, 再通过 npm install -g webpack@xx.xx.xx...,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。

    40320

    React 面试必知必会 Day12

    这是我参与更文挑战的第18天,活动详情查看:更文挑战 大家好,我是洛竹,一只住在杭城的木系前端‍♀️,如果你喜欢我的文章,可以通过点赞帮我聚集灵力⭐️。 1....如何避免在 create-react-app 中使用相对路径导入? 在项目里根目录创建一个叫 .env 的文件并写入导入的路径: NODE_PATH=src/app 然后重启调试服务器。...在 history 对象上添加一个监听器,以记录每个页面的浏览。...React 的 reconciliation(协调) 算法假定,在没有任何相反信息的情况下,如果一个自定义组件在随后的渲染中出现在相同的地方,它就是之前的那个组件,所以 React 重用之前的实例而不是创建一个新的...有可能在React 中使用 async/await 吗?

    3.1K30

    【译】npx简介:一种npm包的执行器

    这也意味着如果你要运行一个基于npm的项目,你只需要确保你的系统安装了node+npm,然后将项目从git上clone下来,执行npm it就可以运行install和test,因为可以将本地的二进制文件的路径添加到...通过npm it就像在全局环境是node@6下安装和测试当前的包。我自己总是用到这个功能——在最近的一个项目中我甚至不得不大量的使用这个功能,因为我一个正在测试的库无法运行在node@8下面。...这玩意儿真是救了我的命,而且我发现在这种情况下,这个功能比那些我总是会错误配置的版本管理工具要好用得多。 用交互的方式开发npm的run-script !...而且,如果你在一个npm项目中,$ mocha会自动回滚到本地安装的mocha版本上,前提是它没有被全局安装。 动起来!...有你最喜欢的npx特性吗?你是否已经开始使用它了?

    1.7K20

    使用mono-repo实现跨项目组件共享

    在本文中你可以看到: 从接到需求到深入分析并构建架构的整个思考过程。 mono-repo的简单介绍。 mono-repo适用的场景分析。 产出一个可以跨项目共享组件的项目架构。...lerna的命令来创建: lerna create 也可以自己手动创建文件夹,这里common子项目我就用lerna命令创建吧,lerna create common,运行后common文件夹就出现在...另外两个可运行站点都用create-react-app创建了,在packages文件夹下运行: npx create-react-app admin-site; npx create-react-app...,这里的yarn install无论在顶层运行还是在任意一个子项目运行效果都是一样的。...然后我们去把admin-site默认的CRA圈圈改成这个水费表单吧: ? 然后再运行下: ? 嗯?报错了。。。如果我说这个错误是我预料之中的,你信吗

    3.1K41

    【Scratch入门到精通】使用CRA搭建项目

    定制CRA配置 react-app-rewired 可以在不 ‘eject’ 也不创建额外 react-scripts 的情况下修改 create-react-app 内置的 webpack 配置,然后你将拥有...自定义loader 由于create-react-app默认的webpack配置中,有规则会使scratch-render加载vert/frag文件时出现错误,经过分析对比,最终使用自定义vert-frag-loader.js...错误问题表象 启动项目后,在浏览器端会出现twgl.js报错。.../shaders/sprite.frag'); 而项目脚手架create-react-app默认配置中的构建规则file-loader与上述scratch-render中的shaders资源引用产生冲突...关键代码如下: const vm = new VM() //在Scratch-render添加远程地址,使vm能够获取mit服务器上的资源文件 storage.addOfficialScratchWebStores

    1.5K20

    Mac下搭建React开发环境

    方式二:命令行安装,前提是mac上已经安装了homebrew brew install node Node即JavaScript开发环境,安装好之后就本地可以编写运行javascript脚本了。...安装create-react-app Create React App是FaceBook的React团队官方推出的一个构建React单页面应用的脚手架工具。...sudo npm install -g create-react-app 这个时候有可能遇到Error: EACCES: permission denied错误,该问题有两种官方解决方案: 重新安装一个...:unsupported 这是因为我们在官网或者命令行下载的node版本较高,对Open SSL的支持有改动引起的,可以在~/zshrc(原生shell换成~/.profile)加上: export NODE_OPTIONS...TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。

    3.2K20

    十七、详解 ES6 Modules

    cmder下载地址:http://cmder.net/ 在mac上就方便很多了,你可以直接使用系统自带的terminal工具,就非常好用。...> create-react-app es6app create-react-app会自动帮助我们在develop目录下创建一个叫做es6app的文件夹,这就是我们新创建的项目。...当项目创建完成之后,在命令行工具中,我们会看到如图所示的提示。这些提示告诉了我们如何运行项目npm start ,如何打包项目npm run build等,这里我就不再赘述。...4、认识项目 只要我们按照构建工具的规则进行开发,那么构建工具会自动帮助我们将代码进行整合,因此在该项目中开发时,我们并不需要自己来使用script或者link标签来引入js与css,所以认识create-react-app...当我们运行npm install安装package.json中的依赖包时,该文件夹会自动创建,所有的依赖包会安装到该文件夹里。•public 主要的作用是html入口文件的存放。

    67420

    Electron 常见问题收录

    不过由于国内网络环境比较复杂,而 Electron 的很多开发资源由位于境外服务器上,所以很多客户在初次对接时会遇到很多的环境配置问题。...问题2:下载 Electron 时出现 404 错误 [404 Not Found] 问题分析 更换了国内的 npm 镜像地址以后,资源的下载路径出现变化。...运行时遇到的问题 问题1:终端出现提示“Electron failed to install correctly” 当看似安装完成,运行项目时,终端上出现以下错误: Error: Electron failed...我们在编写构建配置的时候,很自然的会把 "/" 当成 应用路径 来用,然而在运行时 “/” 却代表的是 工作路径,工作路径 和 应用路径的不一致,是造成文件加载失败的根本原因,下面罗列出了这两种路径在不同平台下运行时的关系...在出现下载 Electron 缓慢现象或出现超时错误时,打断安装进程。 修改 Electron 安装脚本,去掉下载流程,改为直接解压已下载好的压缩包。 运行 Electron 的安装脚本,完成安装。

    19K165

    基础 | 详解 ES6 Modules

    cmder下载地址: http://cmder.net/ 在mac上就方便很多了,你可以直接使用系统自带的terminal工具,就非常好用。...找到一个你要存放项目的根目录,假设叫做develop,运行以下指令。 create-react-app会自动帮助我们在develop目录下创建一个叫做es6app的文件夹,这就是我们新创建的项目。...当项目创建完成之后,在命令行工具中,我们会看到如图所示的提示。这些提示告诉了我们如何运行项目npm start,如何打包项目npm run build等,这里我就不再赘述。...4、认识项目 只要我们按照构建工具的规则进行开发,那么构建工具会自动帮助我们将代码进行整合,因此在该项目中开发时,我们并不需要自己来使用script或者link标签来引入js与css,所以认识create-react-app...当我们运行npm install安装package.json中的依赖包时,该文件夹会自动创建,所有的依赖包会安装到该文件夹里。 2、public 主要的作用是html入口文件的存放。

    56720

    React 入门手册

    在开始时,我强烈建议一种方法,那就是使用官方推荐的工具:create-react-app。 create-react-app 是一个命令行工具,旨在让你快速了解 React。...当你执行 npx create-react-app 命令时,npx 首先会 下载 最新版的 create-react-app,然后再运行它,运行结束后会把它从你的系统中删除。...这点很不错,因为你的系统上永远不会有旧的版本,并且每次运行的时候,你都会获得最新、最全的可用版本。 让我们开始吧: npx create-react-app todolist ?...使用 JSX 构建 UI 就像上一节中介绍的那样,JSX 的一个主要作用就是借助它可以非常容易的编写 UI。...当出现语法错误、标签没有正确闭合或者匹配时,浏览器会尽可能的解析 HTML,而不是中断解析过程。 这是 Web 的一个核心特点,它非常宽松。 但是 JSX 并不宽松。

    6.4K10

    如何在Ubuntu上使用Webhooks和Slack部署React

    在本教程中,您将使用create-react-app npm包构建React应用程序。该软件包通过转换语法和简化依赖项和必备工具的工作,简化了引导React项目的工作。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。 参照本文第一部分,安装Nginx。...请注意,这会链接到项目目录而不是构建目录,后者会更频繁地更改。...在部署应用程序的新版本的情况下,创建此链接特别有用:通过创建指向稳定版本的链接,可以在部署其他版本时简化以后交换的过程。如果出现问题,您也可以以相同的方式恢复到以前的版本。...webhook服务器将监听在9000端口。这意味着如果服务器上正在运行防火墙,则需要允许连接到此端口。

    8.7K20
    领券