手把手帶你搭建與配置Webpack + ES6 + React開發環境

首先通過手把手帶你搭建與配置Webpack + ES6 最新開發環境我們已經獲得了一個可以使用ES6及JSX語法的環境。現在讓我們一起在這個項目中使用React。基於這裏的原碼Liz606/webpack-es6-anyFrame進行優化即可。

安裝react

npm i react react-dom react-router-dom

安裝解析工具

npm i -D @babel/preset-react

修改.babelrc

{
  "presets": [
      "@babel/preset-env",
      "@babel/preset-react"
  ],
  "plugins": ["@babel/transform-runtime",
    ["@babel/plugin-proposal-decorators", {"legacy": true}],
    "@babel/plugin-proposal-class-properties",
  ]
}

此時以及可以解析react了,因爲在配置webpack時,解析js順便就把jsx解析了。
就是這一部分

···
  module: {
    rules: [
      {
        //處理jsx,js
        test: /\.(jsx?)$/,
        use: {
          loader: "babel-loader",
          options: {
            cacheDirectory: evn === EVN.dev,
            sourceMap: evn === EVN.dev,
          },
        }
      },
···

做個小實驗

修改src/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="root"></div> // 主要是要有這個容器
</body>
</html>

寫個組件吧
src/layout.jsx

import React from 'react';

class LayoutPage extends React.Component {
    render() {
      return (
        <div>
          Hello {this.props.name}
        </div>
      );
    }
  }

  export default LayoutPage; 

在入口文件載入React
src/index.js

import React from 'react';
import {render} from 'react-dom';
import LayoutPage from './layout';

render(
    <LayoutPage name="Lizzy" />,
    document.getElementById('root')
);

表現還行,能用····哈哈哈哈哈
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章