webpack+react+es6 嵌入已有项目

前端之家收集整理的这篇文章主要介绍了webpack+react+es6 嵌入已有项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.库安装包, npm install

  1. {
  2. "name": "react-es6-webpack","version": "1.0.0","description": "","main": "index.js","author": "","license": "ISC","devDependencies": {
  3. "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"
  4. },"dependencies": {
  5. "react": "^15.5.4","react-dom": "^15.5.4"
  6. }
  7. }
2. webpack.config.js
  1. var webpack = require("webpack");
  2.  
  3. module.exports = {
  4. entry : __dirname + "/main.js",output : {
  5. path : __dirname + "/out",filename : "index.js"
  6. },module:{
  7. loaders :[
  8. {
  9. test: /\.js$/,exclude: /node_modules/,loader: 'babel-loader',query:
  10. {
  11. presets:['react','es2015']
  12. }
  13. }
  14. ]
  15. },externals: {
  16. 'jquery': 'window.$','react': 'React','react-dom': 'ReactDOM'
  17. },}
externals的目的不想打react的库一起打到index.js.
presets可以方便的是用es6的各种特性

3.组件

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3.  
  4. class AppComponent extends React.Component {
  5. render() {
  6. var list = [];
  7. for(var i = 0; i < 100000; i++){
  8. var ele = <h1>{i+1}:{this.props.data}</h1>;
  9. list.push(ele)
  10. }
  11. return <div>{list}</div>;
  12. }
  13. }
  14.  
  15. window.renderList = function(list){
  16. ReactDOM.render(
  17. <AppComponent data={list}/>,document.getElementById('root')
  18. );
  19. };
4.html
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title></title>
  5. <Meta charset="UTF-8">
  6. <Meta name="viewport" content="width=device-width,initial-scale=1">
  7. <script src="https://cdn.bootcss.com/react/15.5.4/react.min.js"></script>
  8. <script src="https://cdn.bootcss.com/react/15.5.4/react-dom.min.js"></script>
  9.  
  10.  
  11. </head>
  12. <body>
  13. <div id="root" style="width: 400px;min-height:200px;float: left;">
  14. </div>
  15. <div style="float: left;">
  16. <button id="addBtn">添加</button>
  17. <button id="updateBtn">更新</button>
  18. </div>
  19. <script src="out/index.js"></script>
  20. <script>
  21. document.getElementById("addBtn").onclick = function(){
  22. renderList("hello react")
  23. };
  24.  
  25.  
  26. document.getElementById("updateBtn").onclick = function(){
  27. renderList("hello world")
  28. };
  29. </script>
  30. </body>
  31. </html>
最后webpack编译即可

猜你在找的React相关文章