• 前端性能优化(2.2 代码分离——动态导入 dynamic import)


    使用 import() 语法实现动态导入

    project

    webpack-demo
    |- package.json
    |- webpack.common.js
    |- webpack.dev.js
    |- webpack.prod.js
    |- /dist
    |- /src
      |- index.js
    |- /node_modules

    index.js

    async function getComponent () {
      const { default: _ } = await import(/*webpackChunkName: "lodash"*/'lodash')
      const element = document.createElement('div')
      element.innerHTML = _.join(['Hello', 'webpack'], ' ')
      return element
    }
    getComponent().then(component => {
      document.body.appendChild(component)
    })

    webpack.common.js

    const path = require('path')
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    const { CleanWebpackPlugin } = require('clean-webpack-plugin')
    module.exports = {
      entry: {
        index: './src/index.js',
      },
      output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, 'dist')
      },
      plugins: [
        new HtmlWebpackPlugin(),
        new CleanWebpackPlugin()
      ]
    }

    webpack.dev.js

    const {merge} = require('webpack-merge')
    const common = require('./webpack.common')
    
    module.exports = merge(common, {
      mode: 'development',
      devtool: 'inline-source-map',
      devServer: {
        contentBase: './dist',
        port: 3000,
        open: true
      }
    })

    webpack.prod.js

    const {merge} = require('webpack-merge')
    const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')
    const common = require('./webpack.common')
    const webpack = require('webpack')
    
    module.exports = merge(common, {
      mode: 'production',
      devtool: 'source-map',
      plugins: [
        new UglifyjsWebpackPlugin(),
        new webpack.DefinePlugin({
          'process.env.NODE_ENV': JSON.stringify('production')
        })
      ]
    })
  • 相关阅读:
    Kafka简单使用
    mvn 打包和启动jar包
    一次去大华Java面试题
    springboot注解与xml配置对应关系
    javascript语法参考
    一个好用的在线java反编译工具
    centos7安装docker1.31
    象棋博客
    eclipse自动补全快捷键设置
    sql server 锁机制
  • 原文地址:https://www.cnblogs.com/zhoulixue/p/14518647.html
Copyright © 2020-2023  润新知