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

webpack实战——打包优化【上】

HappyPack “HappyPack是一个通过多线程来提升webpack打包速度的工具 1.1 工作原理 在打工过程中,非常耗时的一个工作是使用loader将各种资源进行转译处理,例如常见的使用babel-loader...// ts配置 } } ] }) ] } 除上述配置之外...缩小打包作用域 从宏观角度看,提升性能的方式总结为两种: 增加资源:使用更多的CPU和内存,用更多的计算能力来缩短任务执行时间; 缩小范围:针对任务本身,去除冗余流程,不做重复性工作或使其简单化; 而上面我们所了解的...一个由库产生的额外资源我们用不到但没办法去掉时,可以考虑使用此方法处理。...例,一个日期时间处理的相关插件Moment.js,为了做本地化会加载许多语言包,但一般我们只会用到本地的语言包而不会使用其他地区的语言包,而语言包会占用很大体积,这时可以使用IgnorePlugin来做处理

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

    Wiki.js 离线部署方法 | 离线拉取语言包

    最近想在内网搭建一套 Wiki,在调研了各种 wiki 的搭建方式、功能之后,选择了 wiki.js。但是在部署过程中,发现其默认是通过公网拉取语言包等资源,内网安装需要一些特别的方法。...这篇文章就来介绍内网部署 wiki.js 并拉取语言包的方法。...安装方法# 按照 官网安装方法,可以较快的将整个服务启动起来: Step1 - 快速启动# # 安装前请确保安装了 node npm $ apt-get install node npm # 若内网服务器没有安装...,可参考官网二进制离线安装的方法 # 首先获取离线包,可在互联网上下载,拷入内网服务器 $ wget https://github.com/Requarks/wiki/releases/download...获取语言包 官方提供的语言包资源可以在这里下载:https://github.com/Requarks/wiki-localization 务必下载 locales.json ,之后下载您需要的语言包(

    1.2K10

    程序员必备的8款高效工具

    效率神器,搜索和快速启动的功能,以及工使用自定义插件的工作流功能。让你的效率提升N的档次。 http://alfredworkflow.com/ 这里有400+个workflows。...自定义数据来源:已经包含 Google、Stack Overflow,你还可以自定义来自诸如 Medium、Quora 等任何你需要的网站。 注释功能:方便快速的注释、标记功能。...OS X 下开源免费的的终端工具,基本用它替代了原生的 Terminal。 简化了很多基本功能,拥有文本复制、及时回放、标记跳转、Tab 窗口面板管理、智能补全 等功能。...使用 Homebrew 可以非常容易的安装OS X中没有包含的 Unix工具包和语言包,比如 wget,node,lua,nginx 等。...除此之外还可以发布Wordrpess 博客、支持 Metaweblog API 的博客服务、Wordpress、Blogger、Medium、Tumblr。

    75630

    Node.js 是过去十年最具影响力的服务器技术吗?

    摘要:众所周知,Node.js 具有独特的优势,可以让许多为浏览器编写 JavaScript 的前端开发者,无需学习不同的语言,即可编写除客户端代码之外的服务器端代码。...在 Node.js 中,可以毫无问题地使用新的 ECMAScript 标准,还可以通过运行带有标志的 Node.js 来启用特定的实验性功能。...那是他第一次不得不使用 Javascript 来开发所有东西。当时,也几乎没有开发者会想到使用一种玩具脚本 JavaScript 语言来开发服务器。...未来,Node.js 的发展也势不可挡吗 如今,Node.js 让更多编写 JavaScript 的前端开发者无需学习不同的语言,就可以编写除客户端代码之外的服务器端代码。...无论是过去还是未来,服务器的开发技术都与开发者的工作息息相关。你曾经接触过 Node.js 吗?是否觉得它是不可替代的呢?

    75620

    打造一个舒服的写作环境(Hexo)

    采用双线部署的方案 国外路线使用vercel 免费,可以自定义域名,全球CDN加速国内访问速度也不错,自动生成SSL证书。 现在已经被墙了。 国外线路使用 Netlify 免费,目前还没被墙。...最重要的是CloudBase还支持备案,免费额度用完之后按量收费,小站一天几毛钱足矣。 以上方案在免费的同时也还有保持相当不错的访问速度。不需要购买服务器,减少不必要的运维工作。...搭建动态页面的具体姿势可以参考这篇文章:使用个人公众号或IOS快捷指令发「动态」到hexo博客,该方法需要一个云开发环境。...在Stellar主题中添加动态页面 此方法的前提是已经成功在云开发中部署好bber云函数,具体参考使用个人公众号或IOS快捷指令发「动态」到hexo博客。...语言包的footer部分需要做一些改动: 中文: footer: license: '本站所有文章除特别声明外,均采用 %s 许可协议,转载请注明出处' info_not_open_source

    1.6K31

    Webpack构建速度优化指南

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...,通过使用 include 和 exclude 两个配置项,可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建...\/locale$/,contextRegExp: /moment$/,}),这时候moment使用默认语言英语,如果要使用别的语言,可以手动引入需要使用的语言包。...src 别名 ~ import '~/fonts/iconfont.css'// 使用 src 别名 @ import '@/fonts/iconfont.css'除此之外,因为一些第三方库,如react...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他

    1.6K20

    Webpack构建速度优化

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...,通过使用 include 和 exclude 两个配置项,可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建...\/locale$/,contextRegExp: /moment$/,}),这时候moment使用默认语言英语,如果要使用别的语言,可以手动引入需要使用的语言包。...src 别名 ~ import '~/fonts/iconfont.css'// 使用 src 别名 @ import '@/fonts/iconfont.css'除此之外,因为一些第三方库,如react...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他

    1.7K10

    Prism.js动态加载所需语言包

    前言 Prism是一款非常好用的前端代码高亮插件,很多开发者搭建的文章、博客分享网站中都使用到了prism.js来做代码高亮,但是在官网的下载网站选完了主题和插件后却犯了难:如果选择语言包,如果全选那么体积将近...其次,基本上只有语言包支持Node.js环境,插件基本都是基于DOM实现没有对Node.js环境进行兼容。...image.png 如果是JS就要相对麻烦一些要判断依赖关系,不过我们在之前已经写好工具函数了使用req.query.languages获取前端需要的语言包(参数格式样例:css,typescript...image.png 使用 我使用了ORM框架操作数据库,所以直接在文章表中加了个虚拟字段,在服务器端判断文章中的代码高亮使用了什么语言包,可以根据项目实际情况来决定在哪里进行语言判断。...image.png 思路 用户端创建link和script标签携带参数向服务器获取对应的语言包 读取文件夹,将主题包、插件包中使用的主题或者插件进行读取,将语言包文件读取并保存在对象中 获取各个语言包的依赖关系

    3.4K20

    Vue的一些命名规则与SPA实现思路

    . *.vue文件命名规范    除index.vue之外,其他.vue文件统一用PascalBase风格   5. *.less文件命名规范 附录一:.less为后缀的文件是什么 1、less是什么...可以通过以下代码来替代   4.6 exact-active-class      配置当链接被精确匹配的时候应该激活的 class。可以通过以下代码来替代。      ...风格   3.3 其他类型的.js文件,使用kebab-case风格 4. *.vue文件命名规范 除index.vue之外,其他.vue文件统一用PascalBase风格 5. *.less文件命名规范..., 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中  传统多页面应用程序:      对于传统的多页面应用程序来说, 每次请求服务器返回的都是一个完整的页面 优势...可以通过以下代码来替代   4.6 exact-active-class 配置当链接被精确匹配的时候应该激活的 class。可以通过以下代码来替代。

    1.9K10

    入门webpack的最佳实践(基于webpack4.X 5.X)--打包速度优化

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...,通过使用 include 和 exclude 两个配置项,可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建...\/locale$/,contextRegExp: /moment$/,}),这时候moment使用默认语言英语,如果要使用别的语言,可以手动引入需要使用的语言包。...src 别名 ~ import '~/fonts/iconfont.css'// 使用 src 别名 @ import '@/fonts/iconfont.css'除此之外,因为一些第三方库,如react...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他

    1.1K20

    程序员带你十天快速入门Python,玩转电脑软件开发(四)

    类似于Java里面的包和C#中的命名空间。 虽有两种形式,但比较推荐第二种。想要那部分方法就导入到py文件,而非臃肿的导入。 ?...如下图: 自定义的py文件需要放入python语言包安装目录的lib文件夹下面。 ? 导入模块代码 ? ? 2.Python正则表达式。 正则表达式是字符串用来进行规则匹配的语法。...正则表达式 都是很通用的。所以在任何语言中,使用的正则表达式都是一样的。只是可能不同的语言提供不同的调用匹配正则的方式方法略有不同。值得注意的是正则表达式的对象是字符串。在字符串内部提取匹配。...首先我们一起回顾一下正则表达式的语法: .(英语句号) —-表示除/n之外的任意字符。 比如a.b 可以匹配出来a*b abb acb。英文句号就可以代表一个字符。 也是相当于占位。一些特殊的符号。...{10} —表示前面的字符串必须出现10次 {n,}—–至少出现n次 下一节我们使用正则表达式来实现网页爬虫的效果。 请关注下节教程。 关注-做全栈攻城狮获取最新资讯。

    45340

    程序员带你十天快速入门Python,玩转电脑软件开发(一)

    也就说明目前很多人在使用了,是一种主流的编程语言。 python应用范围很广,除web之外目前的数据挖掘和云计算等领域也用到了python 因其开发效率,现在很多java程序也在转向python ?...Python运行环境的安装与配置: 首先要下载python的语言包,默认操作系统是不附带语言包的。...下载地址:python语言包:https://www.python.org/ 你会发现python语言包会有两个版本。那么我们究竟应该如何进行选如图就是两者的区别。我们学习阶段推荐使用2.x版本。...2.开发工具的安装。 开发工具我们使用pycharm。下载地址是:https://www.jetbrains.com/。我们选择社区版下载就可以了。默认安装就可以了。...把你安装的python语言包的路径,增加到path变量。 至此python环境安装完毕。 ? 这是python开发学习的系列课程,您可以关注以下媒体平台,获取最新教程。

    79120

    Vue 项目前端多语言方案

    图片中的文案内容 4、页面title 5、第三方组件中的文案(比如,我的项目中用到了Vux的组件) 6、后端接口中需要展示到前端的数据内容 7、后端接口返回的错误提示 二、基本思路 1、首先,需要确定以什么样的方式来获取到当前应该展示何种语言...$t = t; 这样就把$t这个方法挂载到了Vue.js的全局。Vue实例中也可以通过this.$t访问到,使用上还是非常简单的。 但是,对于大项目来说,把语言包都写在代码里面,对维护并不友好。...也就是说,你在各个自定义组件中使用的标签中的语言包信息都会被vux-loader集中抽取到这个文件中。...(2)对于页面的标题、一些错误提示等文案,它们是出现在组件之外的,因此不适合写在组件的标签中,所以我们单独新建一个global.yml来存放这些全局性的多语言信息。...如果你的语言包信息中有单引号,则必须连续使用两个单引号转义。

    1.5K20

    Vue.js 项目前端多语言方案

    图片中的文案内容 4、页面title 5、第三方组件中的文案(比如,我的项目中用到了Vux的组件) 6、后端接口中需要展示到前端的数据内容 7、后端接口返回的错误提示 二、基本思路 1、首先,需要确定以什么样的方式来获取到当前应该展示何种语言...$t = t; 这样就把t这个方法挂载到了Vue.js的全局。Vue实例中也可以通过this.t访问到,使用上还是非常简单的。 但是,对于大项目来说,把语言包都写在代码里面,对维护并不友好。...它可以和现有的webpack配置结合,不仅能完成Vux组件多语言配置的打包,还允许在自定义的Vue组件中使用标签。...也就是说,你在各个自定义组件中使用的标签中的语言包信息都会被vux-loader集中抽取到这个文件中。...(2)对于页面的标题、一些错误提示等文案,它们是出现在组件之外的,因此不适合写在组件的标签中,所以我们单独新建一个global.yml来存放这些全局性的多语言信息。

    3K51

    Vue.js 项目前端多语言方案

    图片中的文案内容 4、页面title 5、第三方组件中的文案(比如,我的项目中用到了Vux的组件) 6、后端接口中需要展示到前端的数据内容 7、后端接口返回的错误提示 二、基本思路 1、首先,需要确定以什么样的方式来获取到当前应该展示何种语言...$t = t; 这样就把$t这个方法挂载到了Vue.js的全局。Vue实例中也可以通过this.$t访问到,使用上还是非常简单的。 但是,对于大项目来说,把语言包都写在代码里面,对维护并不友好。...它可以和现有的webpack配置结合,不仅能完成Vux组件多语言配置的打包,还允许在自定义的Vue组件中使用标签。...也就是说,你在各个自定义组件中使用的标签中的语言包信息都会被vux-loader集中抽取到这个文件中。...(2)对于页面的标题、一些错误提示等文案,它们是出现在组件之外的,因此不适合写在组件的标签中,所以我们单独新建一个global.yml来存放这些全局性的多语言信息。

    2.1K00

    【Vuejs】1082- Vue 项目前端多语言方案

    图片中的文案内容 4、页面title 5、第三方组件中的文案(比如,我的项目中用到了Vux的组件) 6、后端接口中需要展示到前端的数据内容 7、后端接口返回的错误提示 二、基本思路 1、首先,需要确定以什么样的方式来获取到当前应该展示何种语言...$t = t; 这样就把t这个方法挂载到了Vue.js的全局。Vue实例中也可以通过this.t访问到,使用上还是非常简单的。 但是,对于大项目来说,把语言包都写在代码里面,对维护并不友好。...它可以和现有的webpack配置结合,不仅能完成Vux组件多语言配置的打包,还允许在自定义的Vue组件中使用标签。...也就是说,你在各个自定义组件中使用的标签中的语言包信息都会被vux-loader集中抽取到这个文件中。...(2)对于页面的标题、一些错误提示等文案,它们是出现在组件之外的,因此不适合写在组件的标签中,所以我们单独新建一个global.yml来存放这些全局性的多语言信息。

    1.5K30

    Vue 项目前端多语言方案

    图片中的文案内容 4、页面title 5、第三方组件中的文案(比如,我的项目中用到了Vux的组件) 6、后端接口中需要展示到前端的数据内容 7、后端接口返回的错误提示 二、基本思路 1、首先,需要确定以什么样的方式来获取到当前应该展示何种语言...$t = t; 这样就把t这个方法挂载到了Vue.js的全局。Vue实例中也可以通过this.t访问到,使用上还是非常简单的。 但是,对于大项目来说,把语言包都写在代码里面,对维护并不友好。...它可以和现有的webpack配置结合,不仅能完成Vux组件多语言配置的打包,还允许在自定义的Vue组件中使用标签。...也就是说,你在各个自定义组件中使用的标签中的语言包信息都会被vux-loader集中抽取到这个文件中。...(2)对于页面的标题、一些错误提示等文案,它们是出现在组件之外的,因此不适合写在组件的标签中,所以我们单独新建一个global.yml来存放这些全局性的多语言信息。

    2.1K20
    领券