React 與 Webpack4 專案建置全實戰 (3)

這篇文章應該是這個系列的最後一篇,之後如果有用到的話還是會慢慢分享 webpack 相關的設定方式。

由於使用 React 通常會搭配 JSX 語法來做開發,而這樣的撰寫方式並不能直接被瀏覽器所解析,所以我們就會需要用到 Babel 來幫助我們轉譯成瀏覽器看得懂的 JS 語法。 因此這篇文章主要會解說如何在 Webpack 裡面 Babel 相關的設定,應該不會太長,讓我們繼續看下去吧!

安裝及設定 babel-loader

前幾章節有說過 loader 是一系列用來轉譯的套件,所以要在 webpack 裡面使用 babel 我們也必須使用 babel-loader,參考 Github 上的安裝指令:

npm install -D babel-loader @babel/core @babel/preset-env webpack

其中 @babel/core 是babel 的主要部分,而 preset-env 是針對那些 JS 最新公佈但瀏覽器還沒有支援的語法做轉譯。

然後只要在 module 裡面加入以下程式碼,就可以開始設定跟使用 babel 囉:

module: {
  rules: [
    {
      test: /\.m?js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }
  ]
}

其中 option 內的 presets 是為了告訴babel想要用什麼模組去做轉譯,babel 把可能的轉換整理成一系列的 preset ,當然也包含 react 的preset 啦,等等就會看到。

安裝 babel-preset-react

如上提到的,babel 也提供了 react 轉譯相關的模組,在 webpack 的設定方式也不難,先安裝:

npm install --save-dev @babel/preset-react

然後ㄧ樣在 preset 裡面加上 ‘@babel/preset-react’, webpack 就會自動套用到啦,然後因為這個 preset也包含 JSX 的轉譯,所以就不用另外安裝相關模組了。到這邊你應該可以開始使用 react 跟 jsx 來做開發了,後面會陸續分享 webpack 相關,比較細節的其他設定,請大家耐心等候囉。

延伸文章

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×