• webpack+react配置


    安装依赖项
    
    在项目目录下 ,初始化一个 package.json 文件,执行:
    
    npm init
    安装 react 和 react-dom 依赖:
    
    npm install react react-dom --save
    安装 webpack 和 webpack-dev-server 依赖:
    
    npm install webpack webpack-dev-server --save-dev 
    安装 babel 依赖:
    
    npm install babel-loader babel-core babel-preset-react babel-preset-es2015 --save-dev

    项目结构:

    webpack.config.js

    /**
     * Created by joesbell on 2016/12/16.
     */
    var webpack=require("webpack");
    var path = require('path');
    var appPath=path.resolve(__dirname, './app/main.js');
    var  buildPath= path.resolve(__dirname, './build');
    
    module.exports = {
        entry:[
            'webpack/hot/dev-server',
            'webpack-dev-server/client?http://localhost:8080',
            appPath
            ],
        output: {
            path:buildPath,
            filename: 'bundle.js',
        },
        module: {
            // 将jsx语法文件转为js语法,es6转成es5
            loaders: [{
                test: /.jsx?$/,
                loaders: ['babel-loader?presets[]=es2015,presets[]=react']
            }]
        },
        // module: {
        //     loaders: [{
        //         test: /.jsx?$/,
        //         exclude: /node_modules/,
        //         loader: 'babel-loader',
        //     }]
        // },
    
        // 将es6代码转化为es5
        babel: {
            presets: ['es2015']
        },
    };

    组件中的文件:

    /**
     * Created by joesbell on 2016/12/16.
     */
    import React from 'react';
    import ReactDOM from 'react-dom';
    
    class Hello extends React.Component {
        render() {
            return <h1>Hello</h1>
        }
    }
    
    ReactDOM.render(<Hello />, document.getElementById('content'));

    main.js主文件:

    import Hello from './component/productBox.js';
    import Hello1 from './component/hello.js';

    构建和启动静态文件服务器:

    "scripts": {"build": "webpack",
        "dev": "webpack-dev-server --devtool eval --progress --colors --hot --content-base build"
      },

    执行 npm run dev 启动 server,此时打开 http://localhost:8080。

    实现自动刷新:

     entry: [
          //自动刷新加载
    'webpack/hot/dev-server', 'webpack-dev-server/client?http://localhost:8080', APP_PATH ],


  • 相关阅读:
    Leetcode Binary Tree Preorder Traversal
    Leetcode Minimum Depth of Binary Tree
    Leetcode 148. Sort List
    Leetcode 61. Rotate List
    Leetcode 86. Partition List
    Leetcode 21. Merge Two Sorted Lists
    Leetcode 143. Reorder List
    J2EE项目应用开发过程中的易错点
    JNDI初认识
    奔腾的代码
  • 原文地址:https://www.cnblogs.com/joesbell/p/6187665.html
Copyright © 2020-2023  润新知