加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

webpack+react+es6 嵌入已有项目

发布时间:2020-12-15 07:18:43 所属栏目:百科 来源:网络整理
导读:1.库安装包, npm install { "name": "react-es6-webpack","version": "1.0.0","description": "","main": "index.js","author": "","license": "ISC","devDependencies": { "babel-core": "^6.7.2","babel-loader": "^6.2.4","babel-preset-es2015": "^6.6.

1.库安装包, npm install

{
  "name": "react-es6-webpack","version": "1.0.0","description": "","main": "index.js","author": "","license": "ISC","devDependencies": {
    "babel-core": "^6.7.2","babel-loader": "^6.2.4","babel-preset-es2015": "^6.6.0","babel-preset-react": "^6.5.0","css-loader": "^0.23.1"
  },"dependencies": {
    "react": "^15.5.4","react-dom": "^15.5.4"
  }
}
2. webpack.config.js
var webpack = require("webpack");

module.exports = {
    entry : __dirname + "/main.js",output : {
        path : __dirname + "/out",filename : "index.js"
    },module:{
        loaders :[
            {
                test: /.js$/,exclude: /node_modules/,loader: 'babel-loader',query:
                {
                    presets:['react','es2015']
                }
            }
        ]
    },externals: {
        'jquery': 'window.$','react': 'React','react-dom': 'ReactDOM'
    },}
externals的目的不想打react的库一起打到index.js.
presets可以方便的是用es6的各种特性

3.组件

import React from 'react';
import ReactDOM from 'react-dom';

class AppComponent extends React.Component {
    render() {
        var list = [];
        for(var i = 0; i < 100000; i++){
            var ele = <h1>{i+1}:{this.props.data}</h1>;
            list.push(ele)
        }
        return <div>{list}</div>;
    }
}

window.renderList = function(list){
    ReactDOM.render(
        <AppComponent data={list}/>,document.getElementById('root')
    );
};
4.html
<!DOCTYPE html>
<html lang="en">
    <head>
        <title></title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1">
        <script src="https://cdn.bootcss.com/react/15.5.4/react.min.js"></script>
        <script src="https://cdn.bootcss.com/react/15.5.4/react-dom.min.js"></script>


    </head>
    <body>
        <div id="root" style="width: 400px;min-height:200px;float: left;">
        </div>
        <div style="float: left;">
            <button id="addBtn">添加</button>
            <button id="updateBtn">更新</button>
        </div>
        <script src="out/index.js"></script>
        <script>
            document.getElementById("addBtn").onclick = function(){
                renderList("hello react")
            };


            document.getElementById("updateBtn").onclick = function(){
                renderList("hello world")
            };
        </script>
    </body>
</html>
最后webpack编译即可

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读