前端项目打包优化及上线

前端项目优化及上线

根据自己项目实际,进行webpack配置,这里只是一个参考,关于上线很多功能作为了解。

优化问题

项目优化策略步骤及详解安装配置
1.生成打包报告=>为了直观发现项目中的问题,共有两种方式
2.第三方库启用CDN => 通过externals加载外部CDN资源
3.Elemet-ui组件按需加载 =>通过cdn的形式优化Element-ui的打包
4.路由懒加载
    1.安装@babel/plugin-syntax-dynamic-import包
    2.在babel.config.js配置文件中声明该插件
    3.将路由改为按需加载的形式,
5.首页内容定制
1.增加加载进度条
安装nprogress包
1.在请求拦截中使用nprogress.start()
2.在响应拦截中使用nprogress.done()
2.在bulid阶段中使用transform-remove-console移除所有的console
安装babel-plugin-transfrom-remove-console
1.在babel.config.js配置文件中添加plugins“transform-remove-console”
//按需在生产环境下需要使用到的插件,但是开发环境下不需要使用,可以定义个数组,判断在生产环境将插件导入到数组中,将生产环境下数组展开到babel.config.js配置文件中,具体例子如下:
// 解决只在发布阶段需要用到的babel插件
const prodPlugins = []

if (process.env.NODE_ENV === 'production') {
   
  prodPlugins.push('transform-remove-console')
}
module.exports = {
   
  presets: [
    '@vue/cli-plugin-babel/preset',
  ],
  plugins: [
    [
      'component',
      {
   
        libraryName: 'element-ui',
        styleLibraryName: 'theme-chalk',
      },
    ],
    // 发布产品时候的插件数组
    ...prodPlugins,
  ],
}
3.通过vue.config.js修改webpack的默认配置
开发模式和发布模式,共同一个打包的入口文件(main.js),为了将项目开发和发布过程分离,为两种模式,各自指定打包的入口文件,即为:
1.开发模式的入口文件为:src/main-dev.js
2.生产模式的入口文件为:src/main-prod.js
configureWebpack和chainWebpack
在vue.config.js导出的配置对象中,新增configureWebpack或chainWebpack节点,来定义webpack的打包配置

这里,configureWebpack或chainWebpack的作用相同,位移区别就是他们修改webpack配置的方式不同:
1.chainWebpack通过链式编程的形式,来修改默认的webpack配置
2.configureWebpack通过操作对象的形式,来修改默认的webpack配置
通过chainWebpack自定义打包入口,新增一个vue.config.js的webpack配置文件
// 通过chainWebpack自定义打包入口
module.exports = {
   
  chainWebpack: config => {
   
    config.when(process.env.NODE_ENV === 'production', config => {
   
      config.entry('app').clear().add('./src/main-prod.js')
    })
    config.when(process.env.NODE_ENV === 'development', config => {
   
      config.entry('app').clear().add(

你可能感兴趣的:(项目,前端)