在项目中使用了一段时间的 Webpack ,得益于其多元的功能支持和配置定制,得到了很多本地编译和依赖管理的帮助。在搭建好配置和架构之后,开发过程中可以不再关注模块的组织、载入、转义、合并、精简、兼容等各种方面的工程问题,全部交给 Webpack 来处理。效率和体验都得到了不小的提升。本篇文章就是在对使用 Webpack 过程中的关键配置和方法做一些总结和沉淀。 本文是一些零散的功能记录、关键点配置和 Tips,大部分从使用过程中总结而来,并不是手册翻译也不是入门讲解,正在入手 Webpack 或在使用中遇
作者 | kinkahuang 链接 | http://imweb.io/topic/592aab6eff03ef1a4ef15c51 最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意味着不再有bug或者修改。那这时候问题来了,有些修改, 我们会以为很简单,从而放松警惕,偷懒也罢,没有精力也罢,简单验证之后便匆匆发布了。此时,有可能不经意的改动对其它功能造成了影响,bug复bug, bug何其多
(一)前言 之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学者来讲还是会有很多疑难的困惑的,而且官方的文档移植没有更新,最新版本集成方法已经发生很大变化啦~OK,今天我们用新版本进行走一遍流程,具体原来就不讲了,直接看移植步骤。 (二)前提准备工作 ①.首先我们有一个采用Gradle构建的Android应用项目,这个大家直接采用Android Studio进行创建一个项目即可。我这边新建一个目录TestInt
使用 create-react-app 创建的 React TypeScript 项目,如何以 Module 的形式引入 css 呢?
最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意味着不再有bug或者修改。那这时候问题来了,有些修改, 我们会以为很简单,从而放松警惕,偷懒也罢,没有精力也罢,简单验证之后便匆匆发布了。此时,有可能不经意的改动对其它功能造成了影响,bug复bug, bug何其多呀。
“0配置”打包器(bundler)Parcel Parcel官网(有中文文档) webpack 要有大量的配置,这样带来的成本就是复杂性——与此相对的,Parcel 带来了简洁性。Parcel 将自己标榜为“零配置”。 Parcel 内置了一个开发服务器,这个开发服务器能够在我们修改文件之时自动重新构建应用,为了加快开发,它还支持模块热替换。 Parcel 内置支持 JS、CSS、HTML、文件资产等等,这不需要插件,对用户会更加友好; 零配置,内置了 code splitting、热模块加载、CSS 预处
备受我们信赖的 NPM 上一次迎来重大更新后已经过了一段时间了。终于,在 Node 的最新版本(版本 15)中,我们等到了 NPM 的版本 7。这一版本对其内部架构进行了重大改进,并提供了一些非常有趣的新特性。
最近的几次发布都犯了小错,都是缺乏或者忽视了测试所导致的。通常来说,一个新功能上线的时候,开发和测试都投入比较多,各项测试都是比较全面的。然而,发布上线也并非意味着不再有bug或者修改。那这时候问题来
引言 由于 10 月份做的 React Native 项目没有使用到 Redux 等库,写了一段时间想深入学习 React,有个想法想做个 demo 练手下,那时候其实还没想好要做哪一个类型的,也看
安装环境 本文默认以MacOS为系统,毕竟除了用React Native搞Android,你也会想用它搞iOS。 首先当然是Android的环境搭建,这里还是推荐把整个Android开发环境都弄起来,顺便还可以学学Android。关于Android环境搭建,以及使用Android Studio可以参考我的另一篇文章搭建安卓开发环境(Android Studio) 这里就不赘述了,需要注意的是,要安装好SDK,AVD(不是AV,是Android Virtual Device)。 弄好Android开发环境
为项目模板 zip 包下载地址或下载地址的快捷命令,例如可以通过快捷命令达到和以上命令同样的效果:
一晃时间过得真快,不知不觉已经毕业10年了,这十年虽然我一直在从事着后台的开发,但是也接触和从事过前端的开发工作,那么接下来就让我回顾下我眼里的前端十年。
webpack3.x 主配置webpack.config.js文件,每个模块的详细信息都有一定的注释,如果有不对的地方,还请指教!
文:萝卜(沪江金融前端开发工程师) 本文原创,转载请注明作者及出处 如果你使用 React ,你可以在各个工程里面看到 Dan Abramov 的身影。他于 2015 年加入 facebook,是 React Hot Loader 、React Transform、redux-thunk、redux-devtools 等等的开发者。同样也是 React、Redux、Create-React-App 的联合开发者。从他的签名 Building tools for humans. 或许表明了他想打造高效的开
React是当前前端应用最广泛的框架。三大SPA框架 Angular、React、Vue比较。
随着前端模块化的兴起,特别在 vue、react等一些热门框架的崛起,越来越多的公司加入了这一阵营。提及前端的模块化(这里主要说的是Javascript语言的模块化),就不得不说 es6标准提出的 export 和 import 两个命令了。当然还有 commonJS里的 module.exports 和 require 这一对组合了,这里暂不介绍这两组命令的具体用法。以后 我会专门写一篇文章介绍这两个命令的用法。我们以 es6中的 export 和 import 为例,介绍一下:
最近,就 前端开发过程中的痛点及可优化项 做了一次收集。 其中,构建耗时、项目编译速度慢 的字眼出现了好几次。
如果你是 Vue 开发者,但又不想过多的折腾,继续沿用 Vue 的开发方式来开发小程序,那么用 mpvue 将会是你的最明智的选择。同时也支持一些第三方 UI 库,这就给一些需要讲求速度的小程序开发者提供了便利。mpvue 2.0 在 微信小程序 的基础上增加了对 百度智能小程序、头条小程序 和 支付宝小程序 的支持。
主要步骤按官方文档实现,这里只记录遇到的一些小坑 官方文档 run-android时NDK报错 前提是NDK已安装并且环境变量已设置 根据报错提示在android/local.properties文件里加入 ndk.dir=~/Library/Android/android-ndk-r10e //这里改成你自己的ndk路径 cxxbridge找不到 在node_modules/react-native-update/android/src/main/java/cn/reactnative/modules/u
前言 打包apk的时候,遇到一个很神奇的问题,就是报错说找不到符号 MainApplication.java:6: 错误: 找不到符号import com.facebook.react.ReactNativeHost; 而且连续报了8个错误,后来查阅了很多文档,发现只有英文的帖子里有解决方法,最后拜读了一下,下面为大家解答一下 问题详解 很明显,这种错误是没有导入相应的包所导致的。所以很大的可能会是包管理工具的配置问题。查看了一下英文的帖子和文档之类的东西,发现一位大神是这么说的,Android文档上说,每
这条命令会临时安装 create-react-app 包,命令完成后 create-react-app 会删掉,不会出现在 global 中。下次再执行,还是会重新临时安装。
赵辛贵,携程无线开发高级技术经理,目前主要负责React Native框架在携程内部的使用推广和性能优化 React Native(下文简称RN)开源已经一年多时间,国内各大互联网公司都在使用,携程
React Native(下文简称 RN)开源已经一年多时间,国内各大互联网公司都在使用,携程也在今年 5 月份投入资源开始引入,并推广给多个业务团队使用,本文将会分享我们遇到的一些问题以及我们的优化方案。 一、背景和使用情况介绍 为什么会引入 React Native? 1. AppSize 占用 携程旅行 App 从 11 年开始开发,至今已有 5 年多时间,随着各项业务功能的全面移动化,以及公司“Mobile first”策略的指引下,App 功能越来越多,越来越臃肿,Size 达到将近 100MB。
在前端框架的历史中,React 和 Angular 一直都处于主角的位置。其间,有众多的新框架试图冲杀进来分一杯羹,但都未成功,除了 Vue。
前几个星期,点开了RN的技能树,废话不多说,那我就意简言赅地记录一下自己遇到的坑,避免后人再犯自己的错误。 先说明一下我的运行环境: 1.我当时这个年代用的RN版本是0.55 2.使用的脚手架是create-react-native-app
react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. 这个是原因是工程找不到我们的android S
| 导语 2020 年 10 月 10 日,webpack5 正式发布,并带来了诸多重大的变更,将会使前端的构建效率与质量大为提升。其实现在各大博客网站已经有很多关于 webpack5 的文章,但真正通过业务实践并获得第一手数据的并不多,所以今天就给大家介绍一下 webpack5 在企鹅辅导业务中的升级与实践 。
| 导语 2020 年 10 月 10 日,webpack5 正式发布,并带来了诸多重大的变更,将会使前端的构建效率与质量大为提升。其实现在各大博客网站已经有很多关于 webpack5 的文章,但真正通过业务实践并获得第一手数据的并不多,所以今天就给大家介绍一下 webpack5 在企鹅辅导业务中的升级与实践 。 对比 webpack4 下面是企鹅辅导h5项目分别在 webpack4 和 webpack5 版本下的构建实测数据,测试环境为我的 MacBook Pro 15 寸高配。 webpack版本 第
React Native在Android当中实践(一)——背景介绍 React Native在Android当中实践(二)——搭建开发环境 React Native在Android当中实践(三)——集成到Android项目当中 React Native在Android当中实践(四)——代码集成 React Native在Android当中实践(五)——常见问题
在做好第一个需求之后,我接到了一个react写的产品,这让我异常的兴奋,终于能写react了
19年,团队沉淀了组件库、图表库、工具库等基础建设相关内容。上述的内容均为独立工程维护,起初我们采用 Git Subtree + npm install <folder> 来关联各个项目,带来了开发、调试的便利,同时也带了一些复杂性。
之前的一个项目报错 ReferenceError: React is not defined ,如下图:
TypeScript 的学习资料非常多,其中也不乏很多优秀的文章和教程。但是目前为止没有一个我特别满意的。原因有:
除此之外,还可以通过一些普适的最佳实践,减少编译范围、编译步骤提升 Webpack 性能,包括:
音乐人小程序初版于2019年8月上线,当时做开发框架选型时,Taro 由于支持小程序、H5两端同构及类 React 语法等特性,比较契合团队当时的诉求,最终选择 Taro(版本1.3.4)作为主框架开发音乐人小程序。
在大家的日常开发中,特别是开发大型项目,大家有没有每次打包想要骂娘的冲动!反正我是很痛苦,每次打包20分钟起,这漫长的等待时间,让人非常焦虑,遇见一些特殊问题(比如测试微信分享),必须要打包部署,看效果,你会发现,一天时间全部浪费在打包上,真所谓改代码两分钟,打包代码两小时,于是闲暇之余,研究了一下webpck打包机制,并且通过几个小插件和一些技巧成功的减少公司项目的打包时间,虽然打包时间没有断崖式的减少,但是能少一分钟,是一分钟吧,下面我们一起来研究一下webpack的性能优化,以及体积优化!
刚开始给项目接入 qiankun 的时候,时不时就会报 Application died in status LOADING_SOURCE_CODE: You need to export the functional lifecycles in xxx entry:
Webpack 启动后会从配置的 Entry 出发,解析出文件中的导入语句,再递归的解析。 在遇到导入语句时 Webpack 会做两件事情:
这个问题是由于ReactNative兼容64位Android手机导致的。 解决办法: 1.在项目的根目录的 gradle.properties 里面添加一行代码 android.useDeprecatedNdk=true. 2.在 build.gradle 文件里添加以下代码
对于直接使用 React.lazy 来说,基本上是没有问题的,但是当在 ts 下,将导入的组件放到 router 的 elment 属性下会报错,一般为类型不匹配
介绍面向复杂工程的简单化 Git 分支依赖管理方案。我们对子模块的使用进行了简化,避免了由于漏提交子模块 commit id 或子模块代码导致无法更新或更新错误的情况。 需求描述 我们尝试使用 Git 来维护一个项目的代码。这个项目的结构比较复杂: 项目包含由多个子模块,每个子模块是一个独立的 Git 仓库,子模块还允许继续嵌套包含子模块。 例如,主工程依赖 common、framework、react_native 等多个子模块,而 react_native 子模块又依赖 node_modules、HFC
Angular 是一个由 Google 和社区共同领导的开源 Web 应用框架。在设计上,Angular 是 AngularJS 的完全重写,由 AngularJS 的同一个开发团队负责。
下面是我在配置react时,报的错误,纠结了很长时间,后来才被我找到解决方法。 SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. react的android相关配置方法 当报上面的错误时,到android studio的工程中copy一份local.properties放到react-native建的工
也许你之前听说过前端组件代码可以运行在浏览器,运行在移动端 App 里面,甚至可以直接在各种设备当中,但你有没有见过: 前端组件直接跑在命令行窗口里面,让前端代码构建出终端窗口的 GUI 界面和交互逻辑?
tsconfig.json是typescript编译器的配置文件,需要虽然不指定也能run,但是要配合webpack用起来顺心的话,是必须要配置的。
https://github.com/es-shims/es5-shim/ Image.png 检测浏览器可支持es5,不支持就扩展,做兼容; 扩展的方法: Image.png 取所有对象的键值;
整理了下自己过去做的项目和练习 还没有页整理完,也会开放一些接口给大家玩 有些项目因为没有存github(2019年下那些和2020上部分) 找不到了
本地运行,URL为真实的URL,BrowserRouter 可以直接访问到真实 URL。 但是项目打包后,当页面刷新或跳转新页面时,客户端浏览器会向服务器请求URL。 服务器会去找build文件夹下的html文件,发现找不到URL指定的路径。 这是因为实际上并没有这样的物理路径,或者没有配置路由请求,所以内容无法显示,而显示404错误。
前端工程采用 SPA 模式 hashHistory , 在集成到生产环境中的时候,使用browserHistory :
领取专属 10元无门槛券
手把手带您无忧上云