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

做网站怎么发展客户网站下拉菜单重叠

做网站怎么发展客户,网站下拉菜单重叠,企业管理培训课程讲座大全,购wordpress1、如何提高webpack打包速度 a、优化Loader--影响Loader打包速度的首要元素是Babel,Babel 会将代码转为字符串生成 AST,然后对 AST 继续进行转变最后再生成新的代码,项目越大,转换代码越多,效率就越低。先优化 Loader …

1、如何提高webpack打包速度

         a、优化Loader--影响Loader打包速度的首要元素是Babel,Babel 会将代码转为字符串生成 AST,然后对 AST 继续进行转变最后再生成新的代码,项目越大,转换代码越多,效率就越低。先优化 Loader 的文件搜索范围,再将 Babel 编译过的文件缓存起来,下次只需要编译更改过的代码文件即可,这样可以大幅度加快打包时间。 

module.exports = {module: {rules: [{// js 文件才使用 babeltest: /\.js$/,loader: 'babel-loader',// 只在 src 文件夹下查找include: [resolve('src')],// 不会去查找的路径exclude: /node_modules/}]}
}loader: 'babel-loader?cacheDirectory=true'

        b、HappyPack--HappyPack 可以将 Loader 的同步执行转换为并行的,这样就能充分利用系统资源来加快打包效率。

module: {loaders: [{test: /\.js$/,include: [resolve('src')],exclude: /node_modules/,// id 后面的内容对应下面loader: 'happypack/loader?id=happybabel'}]
},
plugins: [new HappyPack({id: 'happybabel',loaders: ['babel-loader?cacheDirectory'],// 开启 4 个线程threads: 4})
]

         c、DllPlugin--DllPlugin 可以将特定的类库提前打包然后引入。这种方式可以极大的减少打包类库的次数,只有当类库更新版本才有需要重新打包,并且也实现了将公共代码抽离成单独文件的优化方案。

// 单独配置在一个文件中
// webpack.dll.conf.js
const path = require('path')
const webpack = require('webpack')
module.exports = {entry: {// 想统一打包的类库vendor: ['react']},output: {path: path.join(__dirname, 'dist'),filename: '[name].dll.js',library: '[name]-[hash]'},plugins: [new webpack.DllPlugin({// name 必须和 output.library 一致name: '[name]-[hash]',// 该属性需要与 DllReferencePlugin 中一致context: __dirname,path: path.join(__dirname, 'dist', '[name]-manifest.json')})]
}
// webpack.conf.js
module.exports = {// ...省略其他配置plugins: [new webpack.DllReferencePlugin({context: __dirname,// manifest 就是之前打包出来的 json 文件manifest: require('./dist/vendor-manifest.json'),})]
}

         d、代码压缩--不止可以压缩 JS 代码,还可以压缩 HTML、CSS 代码,并且在压缩 JS 代码的过程中,我们还可以通过配置实现比如删除console.log这类代码的功能。

        e、resolve.alias--可以通过别名的方式来映射一个路径,能让 Webpack 更快找到路径

        f、resolve.extensions--用来表明文件后缀列表,默认查找顺序是['.js', '.json'],如果你的导入文件没有添加后缀就会按照这个顺序查找文件。我们应该尽可能减少后缀列表长度,然后将出现频率高的后缀排在前面

2、如何减少webpack打包体积

        a、按需加载 

        b、Scope Hoisting 会分析出模块之间的依赖关系,尽可能的把打包出来的模块合并到一个函数中去。

        c、Tree Shaking 可以实现删除项目中未被引用的代码

3、如何用webpack来优化前端性能

  • 压缩代码:删除多余的代码、注释、简化代码的写法等等⽅式。可以利⽤webpack的 UglifyJsPlugin 和 ParallelUglifyPlugin 来压缩JS⽂件, 利⽤ cssnano (css-loader?minimize)来压缩css
  • 利⽤CDN加速: 在构建过程中,将引⽤的静态资源路径修改为CDN上对应的路径。可以利⽤webpack对于 output 参数和各loader的 publicPath 参数来修改资源路径
  • Tree Shaking: 将代码中永远不会⾛到的⽚段删除掉。可以通过在启动webpack时追加参数 --optimize-minimize 来实现
  • **Code Splitting:**将代码按路由维度或者组件分块(chunk),这样做到按需加载,同时可以充分利⽤浏览器缓存
  • 提取公共第三⽅库: SplitChunksPlugin插件来进⾏公共模块抽取,利⽤浏览器缓存可以⻓期缓存这些⽆需频繁变动的公共代码

4、如何提高webpack的构建速度

        a、多⼊⼝情况下,使⽤ CommonsChunkPlugin 来提取公共代码

        b、通过 externals 配置来提取常⽤库

        c、利⽤ DllPlugin 和 DllReferencePlugin 预编译资源模块 通过 DllPlugin 来对那些我们引⽤但是绝对不会修改的npm包来进⾏预编译,再通过 DllReferencePlugin 将预编译的模块加载进来。

        d、使⽤ Happypack 实现多线程加速编译

        e、使⽤ webpack-uglify-parallel 来提升 uglifyPlugin 的压缩速度。 原理上 webpack-uglify-parallel 采⽤了多核并⾏压缩来提升压缩速度

        f、使⽤ Tree-shaking 和 Scope Hoisting 来剔除多余代码

http://www.yayakq.cn/news/165217/

相关文章:

  • 哪家公司建站的企业门户网站中国燃气
  • 在网上做翻译的网站新吁网站建设
  • 找人做网站维护多少钱成都哪个公司做网站
  • 手机在线销售网站 - 百度搜索引擎推广的常见形式有
  • html网站开发实验报告铭泰东莞网站建设
  • 企业建站公司电话做品牌折扣微信推广的网站
  • seo网站管理社交信息共享网站开发外包
  • it教育网站建设中卫网站建设哪家好
  • asp.net 微网站开发wordpress页面模板获取内容
  • 华容网站定制2017网站趋势
  • 公司自己做网站推广自己app的制作费用多少
  • 网站建设需要哪些网络技术健康门户网站源码
  • 简洁大气企业网站源码股票交易网站开发
  • 重庆网站建设招标重庆网络推广专员
  • 如何做网站需求表格清单株洲网上购房节
  • 常德网站建设哪家权威企业网站建设首选智投未来1
  • 株洲网站开发公司电话闵行北京网站建设
  • 引流用的电影网站怎么做做慧聪网站多少钱
  • 达州大亚网站建设做百度个人网站
  • 张家港外贸型网站制作手机h5页面怎么制作
  • 移动网站建站视频做ppt网站大全
  • 网站建设捌金手指花总二七要制作一个自己的网站
  • saas建站网站做视频怎么赚钱的
  • 做网站外包哪家好游戏编程软件
  • 做渔具最大的外贸网站网站策划书怎么写
  • 佛山做公司网站自定义网站模块
  • 四川网站建设服务公司做个手机网站有必要吗
  • 网站联系我们的地图怎么做建设网站计划书
  • 兰州网站建设招聘可信赖的做网站
  • 长春个人网站制作公司个人信息展示html模板