当前位置: 首页 > news >正文

中国住房和城乡建设委员会网站成都营销型网站制作

中国住房和城乡建设委员会网站,成都营销型网站制作,佛山顺德专业做网站,贵阳网站建设方案报价这里写目录标题介绍先说结论分析解决介绍 无意间看到一个关于export与exprot default对比的话题, 于是对二者关于性能方面,有了想法,二者的区别,仅仅是在于写法吗? 于是,有了下面的测试。 先说结论 太长…

这里写目录标题

  • 介绍
  • 先说结论
  • 分析
  • 解决


介绍

无意间看到一个关于exportexprot default对比的话题,

于是对二者关于性能方面,有了想法,二者的区别,仅仅是在于写法吗?

于是,有了下面的测试。


先说结论

太长不看版

在导出时,对于包含多个变量的文件,尽量使用export分开导出,

而不是使用export default一股脑儿的放对象里导出来。

good✔:

export const str = 'hello export';export const sum = (a, b) => a + b;export const count = 1;

bad❌:

const str = 'hello export default';
const sum = (a, b) => a + b;
const count = 1;export default {str,sum,count
}

但是,这并不是最终的方案,在项目中,可以通过代码分割的方式,

对引用文件进行单独打包。


分析

下面从打包的Tree Shaking方面,分析这么写的原因。

测试目录:

- src- index.js- counter.js
- webpack.config.js

先来看export下的文件内容:

// counter.js
export const str = 'hello export';
export const sum = (a, b) => a + b;
export const count = 1;
// index.js
// 只使用了其中的str变量import { str } from './counter';console.log(str);
// webpack.config.jsconst path = require('path');module.exports = {mode: 'development',entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'index.js',clean: true},optimization: {usedExports: true}
}

执行命令npx webpack,查看打包结果:
在这里插入图片描述
这里给出了注释:
/* unused harmony exports count, sum */,表示对未使用到的

导出内容count sum进行了标记,在上线打包时,这些将被去除。


再来看export default的内容:

// counter.jsexport default {str: 'hello export default',sum: (a, b) => a + b,counter: 1
}
// index.jsimport counter from './counter.js';console.log(counter.str);
// webpack.config.jsconst path = require('path');module.exports = {mode: 'development',entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'index.js',clean: true}
}

从打包结果来看,webpack无法识别到其中有哪些被未被使用,

所以在实际打包中,并不能触发Tree Shaking功能,无法将未使用代码去除。
在这里插入图片描述


解决

根据以上结论,在实际使用时,应该多使用export做导出。

但是,必须如此吗?

也并不是。

在实际开发中,可以通过Code Split的方式,将counter.js文件

单独打包,形成独立文件。有什么文件要使用其中的方法,

就直接去调用即可。

这里使用的是webpack5内置的SplitChunksPlugin分割插件。

文档:

https://www.webpackjs.com/guides/code-splitting/

配置:

https://www.webpackjs.com/plugins/split-chunks-plugin/
// webpack.config.jsmodule.exports = {// ...optimization: {splitChunks: 'all' }
}

http://www.tj-hxxt.cn/news/55164.html

相关文章:

  • 泸州北京网站建设自己做一个网站需要什么
  • 阿里云域名注册服务网站今日国内新闻
  • 特别炫酷的网站电商还有发展前景吗
  • wordpress登陆后seo排名查询
  • 邯郸专业做网站多少钱企业推广公司
  • 网站建设和优化的步骤网店推广策划方案
  • 做暧昧网站百度指数搜索热度
  • 齐河做网站360竞价推广怎么做
  • 专业做俄语网站建设微信小程序排名关键词优化
  • wordpress 左侧客服seo运营
  • 网站做视频一个月有多少钱收入淘宝友情链接怎么设置
  • 伊宁网站建设优化疫情最新数据消息地图
  • 深圳做网站和视频宣传机构seo是什么牌子
  • 做网站用什么开源程序网络营销企业培训
  • 商务网站建设报告书北京全网营销推广
  • 网络服务提供者是不是网络运营者关于seo如何优化
  • 松江泖港网站建设西安网站seo费用
  • 梧州网站建设定制重庆seo论
  • 做电影网站能赚钱吗seo是付费还是免费推广
  • 建设网站需要想好的问题seo舆情优化
  • 有口碑的南通网站建设深圳媒体网络推广有哪些
  • 普通网站 用多说网站建站网站
  • 用jsp做的二手交易网站有没有帮忙推广的平台
  • 日本做a的动画视频在线观看网站百度我的订单
  • 网站建设创意报告书网络营销百科
  • 做网站实训目的和意义百度推广登录平台网址
  • 现在个人都在哪个网站做外贸百度广告太多
  • 在那个网站找模具做上海公司网站seo
  • 外贸网站啥需要掌握在自己手里seo公司费用
  • 上海网站建设包括哪些网络营销有本科吗