成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

組件庫(kù)按需加載 借助babel-plugin-import實(shí)現(xiàn)

zhichangterry / 2791人閱讀

摘要:對(duì)于大中型前端項(xiàng)目為了解耦與復(fù)用,更多的公司會(huì)選擇自己封裝組件庫(kù),那么一次引入整個(gè)組件庫(kù)必然導(dǎo)致項(xiàng)目過(guò)大,如何按需加載則必須要做前世的插件原理項(xiàng)目地址在轉(zhuǎn)碼的時(shí)候,把整個(gè)庫(kù)的引用,變?yōu)榫唧w模塊的引用。

對(duì)于大中型前端項(xiàng)目為了解耦與復(fù)用,更多的公司會(huì)選擇自己封裝組件庫(kù),那么一次引入整個(gè)組件庫(kù)必然導(dǎo)致項(xiàng)目過(guò)大,如何按需加載則必須要做
前世 ant-design的babel插件babel-plugin-import

原理 [git項(xiàng)目地址](https://github.com/ant-design/babel-plugin-import)

在babel轉(zhuǎn)碼的時(shí)候,把整個(gè)庫(kù)‘a(chǎn)ntd’的引用,變?yōu)?antd/lib/button"具體模塊的引用。這樣webpack收集依賴module就不是整個(gè)antd,而是里面的button.

import { Button } from "antd";
ReactDOM.render();

      ↓ ↓ ↓ ↓ ↓ ↓
      
var _button = require("antd/lib/button");
ReactDOM.render(<_button>xxxx);
今生

那么自然我們的組件也可以同樣的處理,以anole-lego為例

配置 babel-loader

  // 編譯添加
  include: [
    path.resolve(appDirectory, "node_modules/anole-lego"),
    //...others
  ]
  
  // 按需加載支持
  // npm/yarn 安裝依賴 `babel-plugin-import` 詳細(xì)參見(jiàn)該插件使用
  // 配置如下
  plugins: [
      ["import", {
        "libraryName": "anole-lego",
        // libraryDirectory: "lib",
        camel2DashComponentName: false, // 是否需要駝峰轉(zhuǎn)短線
        camel2UnderlineComponentName: false, // 是否需要駝峰轉(zhuǎn)下劃線
        customName: (name) => {
          return `anole-lego/lib/components/${name}` // 核心配置 根據(jù)你自己的組件目錄配置
        },
        style: () => {
          return false
        }
      }],
      //...others
    ]

使用

import { Button } from "anole-lego";
ReactDOM.render(, mountNode);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109913.html

相關(guān)文章

  • HeyUI組件庫(kù)按需加載功能上線,盤(pán)點(diǎn)HeyUI組件庫(kù)有哪些獨(dú)特功能?

    摘要:測(cè)試復(fù)制至剪切板的文本測(cè)試相關(guān)文檔復(fù)制剪切板滾動(dòng)至視圖內(nèi)其實(shí),這是一個(gè)非常方便的功能,比如說(shuō),分頁(yè)加載后滾動(dòng)至頭部,切換頁(yè)面時(shí)切換至頭部。HeyUI組件庫(kù) 如果你還不了解heyui組件庫(kù),歡迎來(lái)我們的官網(wǎng)或者github參觀。 官網(wǎng) github 當(dāng)然,如果能給我們一顆???,那是最贊的了! 按需加載 當(dāng)heyui組件庫(kù)的組件越來(lái)越多的時(shí)候,按需加載的功能終于上線了。 話不多說(shuō),先把按需...

    IamDLY 評(píng)論0 收藏0
  • webpack 性能提速

    摘要:使用該插件帶來(lái)的好處提升打包速度和項(xiàng)目體積將入口的文件中所有公共的代碼提取出來(lái),減少代碼體積同時(shí)提升打包速度。利用緩存機(jī)制依賴的公共模塊文件一般很少更改或者不會(huì)更改,這樣獨(dú)立模塊文件提取出可以長(zhǎng)期緩存。那么,下面就來(lái)開(kāi)啟正確的打開(kāi)方式。 按需引用 外部的組件按需引用 2.啟用happypack多核構(gòu)建項(xiàng)目 3.修改source-map配置 啟用DllPlugin和DllReferen...

    Reducto 評(píng)論0 收藏0
  • webpack 性能提速

    摘要:使用該插件帶來(lái)的好處提升打包速度和項(xiàng)目體積將入口的文件中所有公共的代碼提取出來(lái),減少代碼體積同時(shí)提升打包速度。利用緩存機(jī)制依賴的公共模塊文件一般很少更改或者不會(huì)更改,這樣獨(dú)立模塊文件提取出可以長(zhǎng)期緩存。那么,下面就來(lái)開(kāi)啟正確的打開(kāi)方式。 按需引用 外部的組件按需引用 2.啟用happypack多核構(gòu)建項(xiàng)目 3.修改source-map配置 啟用DllPlugin和DllReferen...

    BWrong 評(píng)論0 收藏0
  • webpack 性能提速

    摘要:使用該插件帶來(lái)的好處提升打包速度和項(xiàng)目體積將入口的文件中所有公共的代碼提取出來(lái),減少代碼體積同時(shí)提升打包速度。利用緩存機(jī)制依賴的公共模塊文件一般很少更改或者不會(huì)更改,這樣獨(dú)立模塊文件提取出可以長(zhǎng)期緩存。那么,下面就來(lái)開(kāi)啟正確的打開(kāi)方式。 按需引用 外部的組件按需引用 2.啟用happypack多核構(gòu)建項(xiàng)目 3.修改source-map配置 啟用DllPlugin和DllReferen...

    JouyPub 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<