日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

13 代码分割之import静动态导入

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 13 代码分割之import静动态导入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前端首屏優化方案之一

項目構建時會整體打包成一個bundle的JS文件,而有的代碼、模塊是加載時不需要的,需要分割出來單獨形成一個文件塊chunk(不會打包在main里),讓模塊懶加載(想加載時才加載),以減少應用體積、減少加載時的體積。

  • import是關鍵字而非函數(類比typeof,typeof '123’ or typeof('123'))
  • 靜態導入: import xxx from '',導入并加載時,導入的模塊會被編譯,不是按需編譯
  • 動態導入:import('') 根據條件或按需的模塊導入
  • 動態導入應用場景:
    • 模塊太大,使用可能性低
    • 模塊的導入占用了大量系統內存
    • 模塊需要異步獲取
    • 導入模塊時需要動態構建路徑(路徑拼接)import('./' + a + '.js')
    • 模塊中的代碼需要程序觸發了某些條件才運行(比如點擊事件)
  • 不能濫用動態導入:靜態導入有利于初始化依賴,動態導入不能用于靜態的程序分析和tree shaking
  • // module.js export default class MyTest {construct() {console.log('構造器')} } <template><div><button class="test" @click="clickBtn">查看</button></div> </template><script> export default {name: "Plan",methods: {async clickBtn() {const res = await import("../libs/module.js");// import返回值是Promiseconsole.log("res", res);let myTest = res.default;new myTest();},}, }; </script>

    // module.js export const plus = (a, b) => {return a + b } <script> export default {name: "Plan",methods: {async clickBtn() {import("../libs/module.js").then((res) => {const { plus } = res;console.log("plus 1 + 2 =", plus(1, 2)); // 3});},}, }; </script>
    • 如果使用vite/腳手架(create react app)搭建的項目 → 可以直接使用import()
    • 如果是手動做webpack的配置,查看代碼分割指南
      webpack動態導入
    • 如果是用babel解析import() 需要安裝依賴@babel/plugin-syntax-dynamic-import(在動態注冊vue-router時,出現對import的語法錯誤,可能就是需要安裝該依賴)

    react中使用

    • 對于動態import的內容,不會直接打包進main.js里;如果是靜態導入的就會直接打包進一個js里
    function Button() {// 函數里定義方法,要寫關鍵字聲明 和類不同const handleClick = async () => {// 若export default 接收到的就是default;否則接收到導出的const plus = await import('./index.js').then(res => res.default)// await + then 將res.default保存到resplus(1, 2)}return (<button onClick={handleClick}>getSum</button>) } ReactDOM.render(<Button />,document.getElementById('app') )

    總結

    以上是生活随笔為你收集整理的13 代码分割之import静动态导入的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲成人av片| 成人av自拍 | 夜夜久久 | 久久久激情视频 | 欧美777| 日韩精品大片 | 久久成人乱码欧美精品一区二区 | 午夜不卡在线观看 | 国产精品视频在线播放 | 曰批女人视频在线观看 | 九九热超碰| 国产美女又黄又爽又色视频免费 | 黄色片视频免费 | 黄视频网站免费看 | av免费观看入口 | 香蕉国产999| 亚洲天堂中文在线 | 国产猛男猛女超爽免费视频 | 国产成人一区二区 | 欧美日韩丝袜 | 免费三级大片 | 国产123区在线观看 91国产一区二区 | 久久爱一区二区 | 97人妻天天摸天天爽天天 | 日日操夜夜摸 | 欧美日韩一区二区在线视频 | 美女18毛片 | 国产伦理一区二区 | 99国产精品久久久久久久久久久 | 久久精选| 无码人妻精品一区二区三区不卡 | 18被视频免费观看视频 | 午夜生活片 | 亚洲午夜精品在线观看 | 国产高清视频免费观看 | 亚洲另类自拍 | 亚洲狼人色 | 日本加勒比中文字幕 | www在线免费观看 | 一级黄色性视频 | 亚洲乱码国产乱码精品 | a级片免费视频 | 欧美色xxx | 能看的av网站 | 四虎成人av| 欧美性猛交ⅹ乱大交3 | 亚洲av无码精品色午夜果冻不卡 | 亚洲美女毛片 | 一区二区精彩视频 | 欧美综合影院 | 久久这里只有精品8 | 国产美女毛片 | 筱田优全部av免费观看 | 亚洲免费激情视频 | 淫语对白 | 国产成人高清在线 | 国内精品在线观看视频 | 久草剧场 | 免费的黄色网 | 粉嫩aⅴ一区二区三区 | 国产农村妇女精品一二区 | 香蕉狠狠爱视频 | 国产91丝袜在线18 | 人妻少妇被粗大爽9797pw | 日韩精品高清视频 | 调教丰满的已婚少妇在线观看 | 天天干夜夜怕 | 免费污片网站 | 国产欧美综合视频 | 91碰碰| 欧美性受xxx | sao浪受的饥渴日常 91免费入口 | 色99999| 在线不欧美 | 97超碰网 | 亚洲精品久久久久中文字幕二区 | 中文字幕1区2区 | 色老大影院 | 青青艹在线观看 | 国产精品久久久久久亚洲 | 欧美成人免费观看视频 | 久久伊人网站 | 精品无码久久久久成人漫画 | 人体毛片 | 超碰日日干 | 在线观看午夜 | 久久久久亚洲av片无码下载蜜桃 | 欧美日韩在线二区 | 大伊人网 | 日本少妇吞精囗交视频 | 国产乱码精品一区二区三区五月婷 | 黄页网站在线看 | 超碰97在线播放 | 奇米777色| 美女被男生免费视频 | 一本色道av | 国产亚洲成av人在线观看导航 | 青青草视频偷拍 | 乳孔很大能进去的av番号 |