跳至主要內容

程式碼拆分

程式碼拆分讓您可以將程式碼拆分成小塊,然後依需要載入,避免使用者在使用應用程式之前必須下載整個應用程式。

這個專案設定支援使用 動態 import() 來執行程式碼拆分。其 提案 已進入第 4 階段。類似函數的 import() 函數會將模組名稱當作引數,傳回一個 Promise,永遠會解決為模組的命名空間物件。

以下是範例

moduleA.js

const moduleA = 'Hello';

export { moduleA };

App.js

import React, { Component } from 'react';

class App extends Component {
handleClick = () => {
import('./moduleA')
.then(({ moduleA }) => {
// Use moduleA
})
.catch(err => {
// Handle failure
});
};

render() {
return (
<div>
<button onClick={this.handleClick}>Load</button>
</div>
);
}
}

export default App;

這會讓 moduleA.js 與其所有個別依賴項成為一個獨立塊,僅在使用者點擊「載入」按鈕後才載入。如需建立的塊之詳細資訊,請參閱 製作版本 部分。

如果您喜歡,也可以使用 async / await 語法。

使用 React Router

如果您使用 React Router,請查看 這個教學課程

另請查看 React 文件中的 程式碼拆分 章節。