react 代码分割import()的使用 export && export default的区别

代码分割

其实就是为了避免打包时候的代码体积过大而导致加载时间过长出现的一种优化手段吧.简单来说也就是引入并使用外部js文件的方法,使用代码分割有两种写法,推荐第二种.

第一种:我在math.js里面export了一个add函数

import("./math.js").then(math => {
  console.log(math.add(1, 2))  // 3
});

第二种使用方式

// 头部引入文件
import { add } from './math'; 

//使用如下:
console.log(add(12, 12))  //24

这里踩到了一个坑,导出add函数时我写了export default,在外部调用的时候报错:math.add is not a function.

这就涉及到一个问题:export 和export default的区别
export:导出 ,在一个js文件里面可以多次使用,且可以导出多个函数,如:export {add,minus…}

export default:在一个js里面只能使用一次,就只能导出一个默认函数

导出方式不一样,引入方式也不一样:

export default: import minus from './math.js'  // minus  可以自己修改命名

export: import {add} from './math.js';    // add是js内部的函数名称,不可修改

前者abc可以按照自己的意愿随便命名使用(不建议这么干),而后者花括号里面的内容必须要是引入文件内部存在的变量,名称不能随意改变 比如 里面存在add函数;

使用export default 导出的函数,使用为:
react 代码分割import()的使用 export && export default的区别_第1张图片
第二种使用方式(推荐):

import minus, { add } from './math'; 

// 使用
    console.log(add(12, 12));
    console.log(minus(8, 6))

你可能感兴趣的:(react 代码分割import()的使用 export && export default的区别)