import和require的区别

1. 导入导出

使用

import

import test from test.js
import * as test from test.js
const { a, b } = test

export

export default {a ,b}
export {a ,b}

require

require('test.js')

2. 导入区别

require import
commonjs es6
运行时被加载 编译时被加载,必须放在头部,性能更好
类似深拷贝 浅拷贝(引入的对象被修改时,源对象也会被修改)
对tree-shaking不友好 利于tree-shaking(移除JavaScript上下文中未引用的代码
代码分割,按需加在
AMD规范引入 要兼容浏览器的话必须转化成es5

⚠️ 目前所有的引擎都还没有实现import,import最终都会被转码为require,在webpack打包中,import和require都会变为_webpack_require_。

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