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

vue-cli 解决白屏、兼容、压缩及清除console

IE白屏 描述在打包完成之后,如果是pc项目,或者移动端低版本兼容项目,则会有许多问题,其中白屏问题困扰着很多开发者,在安卓4.0、IE多个版本环境中体现尤为别致。...问题解决。 问题3. 打包后清除控制台所有console信息 描述在开发环境中,我们调试过程中会添加些许 console.log或者 debugger相关代码,来帮助我们完成开发。...方案 安装插件 npm install compression-webpack-plugin --save-dev 配置 vue.config.js中configureWebpack // 压缩css.../src/main.js']; // 修复HMR config.resolve.symlinks(true); // //修复 Lazy loading...// analyzerMode: 'static', // }]); // } }, // 是否使用包含运行时编译

4.6K40

Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

最近遇到一个问题,用 Vue 开发项目在最近两年新出安卓手机上没问题,在三四年前旧手机上出现白屏问题。...但在手机上调试不方便,受一篇文章启发, IE 浏览也是同样问题,所以可以在 IE 上调试,一个调好了两个就都好了。...经过努力,终于梳理出了基于 Vue-cli 3 项目如何做兼容性配置步骤: 1....babel-plugin-transform-remove-console 复制代码 以上五步配置完就可以解决 Vue 项目在低版本安卓系统和 IE 浏览下显示空白问题了。...: false, assetsDir: '', // 相对于outputDir静态资源(js、css、img、fonts)目录 runtimeCompiler: true, // 是否使用包含运行时编译

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

Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

最近遇到一个问题,用 Vue 开发项目在最近两年新出安卓手机上没问题,在三四年前旧手机上出现白屏问题。...但在手机上调试不方便,受一篇文章启发, IE 浏览也是同样问题,所以可以在 IE 上调试,一个调好了两个就都好了。...经过努力,终于梳理出了基于 Vue-cli 3 项目如何做兼容性配置步骤: 1....babel-plugin-transform-remove-console 以上五步配置完就可以解决 Vue 项目在低版本安卓系统和 IE 浏览下显示空白问题了。...: false, assetsDir: '', // 相对于outputDir静态资源(js、css、img、fonts)目录 runtimeCompiler: true, // 是否使用包含运行时编译

1.9K30

Webpack 实现 Tree shaking 前世今生

能够处理,主要是 webpack 编译过程阻止了对类进行 tree-shaking,它仅对函数起作用,后来通过支持将类编译后赋值标记为 @__PURE__解决了这个问题。...在官方文档最后有说明,Babel Minify 最适合针对最新浏览(具有完整 ES6+ 支持),也可以与通常 Babel es2015 预设一起使用,以首先向下编译代码。..., pluginOpts) ] } babel-loader 预设 在官方文档最后有说明,Babel Minify 最适合针对最新浏览(具有完整 ES6+ 支持),也可以与通常 Babel...; 当排除 node_modules 不通过 babel-loader 运行时babel-minify 优化不会应用于被排除文件; 当使用 babel-loader 时,由 webpack 为模块系统生成代码不会通过...大意是说:鉴于 terser-webpack-plugin 得到维护并且有更多正确性修复,绝对是首选 -- 即使没有性能改进(事实上还是有所改进),也值得切换。

1.1K20

浅谈前端工程化发展以及相关工具介绍

配合 eslint 编 辑插件,我们就可以在编辑代码时 eslint 对我们代码进行提示和修复。通过配置 eslint index.js 这样脚本,就可以对脚本文件进行静态校验。... 编辑插件,我们同样能够实现代码编辑状态下提示和修复。...配合 eslint 编 辑插件,我们就可以在编辑代码时 eslint 对我们代码进行提示和修复。通过配置 eslint index.js 这样脚本,就可以对脚本文件进行静态校验。... 编辑插件,我们同样能够实现代码编辑状态下提示和修复。...ESModule 虽然从语言层面上解决了规范问题,但是即使经过 babel 编译,也会将 import,export 之类关键词编译为 CommonJS require 和 exports ,我们还是无法直接在浏览中使用

48730

【原创】不想eject,还咋修改create-react-app配置?

一、先抛问题 许多刚开始接触create-react-app框架同学,不免都会有个疑问:如何在不执行eject操作同时,修改create-react-app配置。...create-react-app框架本身将webpackbabel相关配置封装在了react-scripts中, 执行yarn eject后,会将webpackbabel等配置暴露在config目录下...其次,在版本迭代时,如果更新了react、react-scripts、eslint、tsconfig等依赖,有可能会引起版本依赖问题,即使我们按错误信息修复了之后,项目还是无法运行。...三、有需求咋解决 实际开发中,我们还是需要更新webpackbabel配置,比如: antd按需加载; 配置css预处理 - less; 设置alias、externals; 生产环境打包-去除...- less 为啥在这里只强调了less呢,因为create-react-app中内置了sass/scss预处理,只需要使用时安装相关依赖就可以了(运行时,根据提示缺失包进行安装即可)。

2.8K40

插件化架构设计(2):插件化从设计到实践该考量问题汇总

插件三要素设计一个完善插件化架构系统,包含三要素:plugCore:插件内核,提供插件运行时,管理插件加载、运行、卸载等生命周期(类比浏览);pluginAPI:插件运行时需要基础接口(类比浏览例子...实现一套插件模式第一步,永远都是先定义出你需要插件化来帮助你解决问题是什么。这往往是具体问题具体分析,并总是需要你对当前系统能力做一定程度抽象。...解决问题前首先要定义问题比如 Babel,他核心功能是将一种语言代码转化为另一种语言代码,他面临问题就是,他无法在设计时就穷举语法类型,也不了解应该如何去转换一种新语法,因此需要提供相应扩展方式...Babel 主要解决问题是把新语法代码在不改变逻辑情况下如何转换成旧语法代码,简单来说就是 code => code 一个问题。...Babel 选择了把解析与转换两个动作拆开来,分别使用插件来实现。解析插件要解决问题如何解析代码,把 Code 转化为 AST。

78510

给react加try-catch

最近在一个使用fis构建react.js项目里遇到个问题,render函数里如果发生了运行时错误,比如说某个对象没有判断就直接去访问其属性,那我所知道就是,页面不正常了,特别是有嵌套子组件时候,我可得一个个一层层去排查判断...通常来说,使用react时候都配合以webpack构建,再加个webpack-dev-client,不仅有js live reload还能hot module reload,不离开编辑情况下就能一直调试下去...最后一种方式给了很大启发和想象空间,现在借助于babel帮助,我们可以在语法层面对js进行增强,在构建阶段就完成对功能补充,这种方法现在看来,work like a charm!...惹不住还是看了下babel transform插件是如何开发实现,文档在此。...babel作为一个源码转换编译,是一个源码->ast->源码过程,而transform插件所做事就是在ast->源码阶段。

3.1K50

谈下 webpack loader 机制

完整高频题库仓库地址:https://github.com/hzfe/awesome-interview 完整高频题库阅读地址:https://febook.hzfe.org/ 相关问题 webpack...loader 是如何工作 如何编写 webpack loader 回答关键点 转换 生命周期 chunk webpack 本身只能处理 JavaScript 和 JSON 文件,而 loader 为...babel-loader:将 ES 较新语法转换为浏览可以兼容语法。 style-loader:将 CSS 代码注入到 JavaScript 中,通过 DOM 操作加载 CSS。.../hzfe.css) 同时,也注入了添加 style 标签代码。这样,在运行时(浏览中),style-loader 就可以把 css-loader 样式插入到页面中。...该结果会返回给 webpack 进一步解析,css-loader 返回结果会作为模块在运行时导入,在运行时能够获得 CSS 内容,然后调用 add-style.js 把 CSS 内容插入到 DOM

90400

给react加try-catch

最近在一个使用fis构建react.js项目里遇到个问题,render函数里如果发生了运行时错误,比如说某个对象没有判断就直接去访问其属性,那我所知道就是,页面不正常了,特别是有嵌套子组件时候,...通常来说,使用react时候都配合以webpack构建,再加个webpack-dev-client,不仅有js live reload还能hot module reload,不离开编辑情况下就能一直调试下去...最后一种方式给了很大启发和想象空间,现在借助于babel帮助,我们可以在语法层面对js进行增强,在构建阶段就完成对功能补充,这种方法现在看来,work like a charm!...惹不住还是看了下babel transform插件是如何开发实现,文档在此。...babel作为一个源码转换编译,是一个源码->ast->源码过程,而transform插件所做事就是在ast->源码阶段。

1.2K20

Webpack源代码泄露

Webpack支持CommonJS、AMD、ES6等多种模块化规范并且提供了强大插件机制和开发者工具,可以帮助开发者进行代码优化、压缩、混淆、实时重载等操作 主要功能 Webpack主要功能包括:...插件机制:提供了丰富插件机制和开发者工具,可以帮助开发者进行代码优化、压缩、混淆、实时重载等操作 工作原理 Webpack从指定入口文件开始递归地解析出所有的依赖模块并通过加载对模块进行处理,使用插件进行各种代码优化和资源压缩等操作...:模块处理规则,指定Webpack对不同类型文件使用不同加载进行处理 :插件配置,指定Webpack 执行打包过程中额外操作 :开发服务配置,指定 Webpack 开发服务相关配置 这个配置文件示例中使用了...Babel和CSS加载,用于将ES6代码和CSS样式转换为浏览可以识别的代码,同时还使用了HtmlWebpackPlugin插件,用于生成HTML文件并将打包后静态资源文件注入到HTML文件中,最后使用了开发服务配置...,可以在本地开发环境中进行实时预览和调试 源码泄露 Webpack会为打包后代码生成Source Map文件以便在运行时可以调试源代码,开发人员在生产环境中开启SourceMap功能后会导致源代码信息泄露风险

1.1K30

【Vuejs】335-(超全) Vue 项目性能优化实践指南

Webpack 编译配置优化等问题,所以我们仍然需要去关注 Vue 项目性能方面的优化,使项目具有更高效性能、更好用户体验。...如果你项目的 SEO 和 首屏渲染是评价项目的关键指标,那么你项目就需要服务端渲染来帮助你实现最佳初始加载性能和 SEO,具体 Vue SSR 如何实现,可以参考作者另一篇文章《Vue SSR...2.3、提取公共代码 如果项目中没有去将每个页面的第三方库和公共模块提取出来,则项目会存在以下问题: 相同资源被重复加载,浪费用户流量和服务成本。...这有一些小小运行时开销,如果你使用服务端渲染,这会导致一段 “无样式内容闪烁 (fouc) ” 。将所有组件 CSS 提取到同一个文件可以避免这个问题,也会让 CSS 更好地进行压缩和缓存。...具体如何进行 Vue 项目的 Webpack 构建优化,可以参考作者另一篇文章《 Vue 项目 Webpack 优化实践》 三、基础 Web 技术优化 3.1、开启 gzip 压缩 gzip 是

1.7K30

渐进式 Unbundled 开发工具探索之路

Webpack 打包慢问题相信也是大家都会遇到问题。随手一搜,各种 Webpack 配置优化以及最佳实践之类文档数不胜数。...社区内有提供替换 babel-loader esbuild-loader, 通过 loader 方式在 Webpack JS 运行时中编译单个文件方式在速度上也不如单纯用 esbuild 一把梭快...首次 dev server 启动时, 会代理 Webpack 入口以及 dynamic import 导出模块,打开浏览页面后,代理模块在运行时通过 Server-Send-Events 与 Lazy...在 Webpack 生态基础上将第三方依赖以 ESM 形式直接加载看起来也不太能满足我们场景,那么如何更好地提升 dev server 启动速度呢?...这种新兴 Unbundled Development 模式看着能够满足我们对 dev server 启动速度需求,下面的问题就是针对使用我们内部应用开发工具业务项目来说如何平滑接入这些工具。

1.3K30

JavaScript 性能优化技巧分享

/mega-widget'); } 如果你应用程序需要在页面上用到这个小部件,它将动态加载所需支持代码。 另外,Webpack 需要运行时间来工作,并将其注入到它生成所有 .js 文件中。...', }), 确保 Webpack 在主 JavaScript 包之前已完成加载,那么所有其它 chunk 中运行时间会剥离到各自文件中,这种情况也被成为 runtime.js。...除此之外,你还很可能使用 babel-polyfill 软件包和 whatwg-fetch,来修复旧版本浏览缺失功能。...问题是,你为 JavaScript 软件包添加了近 100KB 内容,这不仅是一个巨大文件,而且预示着巨大解析和执行花费,以便能够支持旧版本浏览。...一种方法是创建两个独立 bundle,并根据实际条件来加载它们。Babel 转换编译babel-preset-env 帮助下,会使同时面临新旧两种浏览情况更加容易处理。

83760

TypeScript与Babelwebpack关系以及IDE对TS类型检查

实际上,对于项目级别的ts项目,还有很多需要了解。接下来基于一个webpack项目来逐步介绍如何基于前文两种方式来使用ts。...babel-loader 前面我们简单介绍了如何使用babel对一份ts进行编译,那么在webpack中,如何使用babel呢?...还记得我们前面提到babel怎么处理tsBabel 如何处理 TypeScript 代码?它删除它。...是的,babel并没有进行类型检查,而是将各种类型移除掉以达到快速完成编译目的。那么问题来了,我们如何babel进行类型判断呢?...**实际上,我们没有办法让babel进行类型判断,必须要借助另外工具进行。**那为什么我们IDE却能够现实ts代码错误呢?因为IDE帮助我们进行了类型判断。

50730

创建 React 应用 7 种方式,你用过几种?

如果说对于上面的配置你不知所措,我想你有必要了解下,如何从零创建一个 webpack react 工程,这将帮你修改 webpack 工程更加得心应手。...支持 babel 加载 在项目更目录新建一个 babel.config.js 文件,将安装 babel 写入这个文件,babel 会在运行前读取这份配置文件。...module.exports = { presets: ['@babel/preset-env', '@babel/preset-react'], } 安装 CSS 加载 webpack 默认不会处理...接口需要通过访问后端 IP 地址来访问,若直接访问会存在跨域问题。...vite 采用浏览支持 ES 模块来解决开发时构建缓慢问题,使用 esbuild 预构建依赖(开发时不会变动纯 JavaScript 代码,一般是 node_modules 中第三方包)。

6.5K10

从0到1搭建webpack2+vue2自定义模板详细教程

使用旧版本,你可能遇到各种问题,因为它们可能缺少 webpack 功能或缺少相关 package 包。...webpack output 属性描述了如何处理归拢在一起代码(bundled code)。output 选项控制 webpack 如何向硬盘写入编译文件。...此外,这意味着 你可以就近管理你图片文件,可以使用相对路径而不用担心布署时URL问题。使用正确配置,Webpack 将会在打包输出中自动重写文件路径为正确URL。...它还有一个通过Socket.IO连接着webpack-dev-server服务小型运行时程序。webpack-dev-server发送关于编译状态消息到客户端,客户端根据消息作出响应。...vue有两种构建方式,独立构建和运行时构建。它们区别独立构建前者包含模板编译而运行构建不包含。模板编译职责是将模板字符串编译为纯 JavaScript 渲染函数。

4.6K20

vue项目性能优化-前端加分项

Webpack 编译配置优化等问题,所以我们仍然需要去关注 Vue 项目性能方面的优化,使项目具有更高效性能、更好用户体验。...如果你项目的 SEO 和 首屏渲染是评价项目的关键指标,那么你项目就需要服务端渲染来帮助你实现最佳初始加载性能和 SEO,具体 Vue SSR 如何实现,可以参考作者另一篇文章《Vue SSR...2.3、提取公共代码如果项目中没有去将每个页面的第三方库和公共模块提取出来,则项目会存在以下问题:相同资源被重复加载,浪费用户流量和服务成本。...这有一些小小运行时开销,如果你使用服务端渲染,这会导致一段 “无样式内容闪烁 (fouc) ” 。将所有组件 CSS 提取到同一个文件可以避免这个问题,也会让 CSS 更好地进行压缩和缓存。...具体如何进行 Vue 项目的 Webpack 构建优化,可以参考作者另一篇文章《 Vue 项目 Webpack 优化实践》三、基础 Web 技术优化3.1、开启 gzip 压缩gzip 是 GNUzip

64620

转:不要随意添加script标签

/mega-widget'); } 如果你应用程序需要在页面上用到这个小部件,它将动态加载所需支持代码。 另外,Webpack 需要运行时间来工作,并将其注入到它生成所有 .js 文件中。...', }), 确保 Webpack 在主 JavaScript 包之前已完成加载,那么所有其它 chunk 中运行时间会剥离到各自文件中,这种情况也被成为 runtime.js。...除此之外,你还很可能使用 babel-polyfill 软件包和 whatwg-fetch,来修复旧版本浏览缺失功能。...问题是,你为 JavaScript 软件包添加了近 100KB 内容,这不仅是一个巨大文件,而且预示着巨大解析和执行花费,以便能够支持旧版本浏览。...一种方法是创建两个独立 bundle,并根据实际条件来加载它们。Babel 转换编译babel-preset-env 帮助下,会使同时面临新旧两种浏览情况更加容易处理。

1.1K10
领券