【上线】一个简单的前端上线流程

1.生产构建

对生产环境的构建包括合并、抽取、压缩、调试方面。

  • 合并:将style和javascript文件进行合并;
  • 抽取:样式从javascript中抽取出来;
  • 压缩:JS、CSS的压缩;
  • 调试:开启sourceMap

JS压缩:

//安装
npm install -D uglifyjs-webpack-plugin

//配置webpack.config.js
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')

module.exports = {
  plugins: [
    new UglifyJsPlugin()
  ]
}

参考资料:UglifyjsWebpackPlugin

CSS压缩:

//webpack.config.js

{
  loader: 'css-loader',
  options: {
    minimize: true 
  }
}
//webpack.config.js

// 小技巧 :在 css-loader 后边加 ?minimize 即可
  loaders: {
      css: ExtractTextPlugin.extract({use: 'css-loader?minimize!px2rem-loader?remUnit=40&remPrecision=8', fallback: 'vue-style-loader'}),
      scss: ExtractTextPlugin.extract({use: 'css-loader?minimize!px2rem-loader?remUnit=40&remPrecision=8!sass-loader', fallback: 'vue-style-loader'})
    }

参考资料:minimize

开启sourceMap:
开启 sourceMap ,npm run build 后会生成 xxx.js.map / xxx.css.map 文件,此文件也要上线,便于错误查找。

//配置webpack.config.js
module.exports = {
    devtool:'source-map',
    plugins: [
    new UglifyJsPlugin({
        sourceMap:true
    })
  ]
}

参考资料:sourceMap

2.发布部署

简单包括提交、部署、开启gzip压缩、更新CDN。

  • 提交:使用git提交代码,管理线上版本;
  • 部署:php/java等从git仓库拉取代码,通过小流量、跨机房、全量部署(一般由运维操作);
  • 开启gzip压缩:JS/CSS开启gzip压缩(比webpack压缩率高得多);
  • 更新CDN:不要忘记更新CDN
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值