zoukankan      html  css  js  c++  java
  • 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 ],


  • 相关阅读:
    【转】Android开发中Handler的使用
    【转】关于微信开发者平台移动应用获取签名解决问题
    AndroidStudio开发工具快捷键
    进程与线程
    【转】Git常用命令
    Java中内存空间的分配及回收
    【转】Github入门教程
    周记
    本周工作内容及感想
    总结
  • 原文地址:https://www.cnblogs.com/joesbell/p/6187665.html
Copyright © 2011-2022 走看看