- sacudir a árvore
Tree shake é uma tecnologia que otimiza o volume de empacotamento do projeto eliminando código redundante. O termo técnico é eliminação de código morto. Princípio: analisar estaticamente o fluxo do programa para determinar quais módulos e variáveis não são usados ou referenciados e, em seguida, excluir o código correspondente
这些多余的代码 1 代码不会被执行,不可到达
2 代码执行的结果不会被用到
3 代码只会影响死变量(只写不读)
Falando nisso, devemos falar sobre **CommonJS** e módulo ES6
1. O módulo CommonJS gera uma cópia do valor e o módulo ES6 gera uma referência ao valor.
2. Os módulos CommonJS são carregados em tempo de execução e os módulos ES6 são interfaces de saída em tempo de compilação.
3. CommonJs exporta um único valor e o Módulo ES6 pode exportar vários valores.
4. A sintaxe dinâmica do CommonJs pode ser escrita no julgamento, enquanto a sintaxe estática do Módulo ES6 só pode ser escrita no nível superior.
5. CommonJs este é o módulo atual, ES6 Module's este é indefinido
Ou seja, CommonJS é dinâmico, e você só pode saber quais módulos são usados durante a execução; enquanto o Módulo ES6 é estático, e você pode saber quais módulos são usados mesmo que não seja executado. Portanto, CommonJS não é adequado para mecanismos de agitação de árvores .