webpack.config.js

var webpack=require("webpack");
var htmlWebpackPlugin=require('html-webpack-plugin');
var ExtractTextPlugin=require('extract-text-webpack-plugin');
var openBoweserPlugin=require('open-browser-webpack-plugin'); module.exports={
entry:'./src/script/app.js',
output:{
path:__dirname+'/build',
filename:'app.js'
},
devServer:{
contentBase:'./build',
host:'localhost',
port:5000,
historyApiFallback:false,
proxy:{
'/api':{
target:'http://localhost:9000',
pathRewrite:{
'^/api':''
},
changeOrigin:true
}
}
},
module:{
loaders:[
{
test: /\.css$/,
loader: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader'
})
},
{
test:/\.scss$/,
loader:ExtractTextPlugin.extract({
fallback:'style-loader',
use:'css-loader!sass-loader'
})
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'react-hot-loader!babel-loader'
} ]
},
plugins:[
new htmlWebpackPlugin({
filename:'index.html',
template:'./src/index.ejs',
title:'联连Life'
}),
new ExtractTextPlugin({
// filename:'app_[hash].css',
filename:'app.css',
disable:false,
allChunks:true
}),
// new webpack.optimize.UglifyJsPlugin({
// compress:{
// warnings:false
// },
// output:{
// comments:false
// }
// }),
new openBoweserPlugin({url:'http://localhost:5000'})
],
externals:{
'react':'window.React',
'react-dom':'window.ReactDOM',
'react-router':'window.ReactRouter',
'redux':'window.Redux'
} }

.babelrc

{
"presets":["es2015","react","stage-0"],
"plugins": [
["transform-runtime", {
"polyfill": false,
"regenerator": true
}]
] }

package.json

{
"name": "dev",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack-dev-server"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.24.0",
"babel-loader": "^6.4.1",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.24.0",
"babel-preset-react": "^6.23.0",
"babel-preset-stage-0": "^6.22.0",
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
"css-loader": "^0.27.3",
"extract-text-webpack-plugin": "^2.1.0",
"html-webpack-plugin": "^2.28.0",
"node-sass": "^4.5.1",
"open-browser-webpack-plugin": "^0.0.5",
"react-addons-pure-render-mixin": "^15.4.2",
"react-addons-shallow-compare": "^15.4.2",
"react-hot-loader": "^1.3.1",
"react-tap-event-plugin": "^2.0.1",
"sass-loader": "^6.0.3",
"style-loader": "^0.16.0",
"transform-runtime": "^0.0.0",
"webpack": "^2.3.1",
"webpack-dev-server": "^2.4.2"
},
"dependencies": {
"babel-polyfill": "^6.23.0",
"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-redux": "^5.0.3",
"react-router": "^3.0.2",
"redux": "^3.6.0"
}
}

react开发的更多相关文章

  1. 基于Nodejs生态圈的TypeScript+React开发入门教程

    基于Nodejs生态圈的TypeScript+React开发入门教程   概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...

  2. React开发项目例子

    一.需求 1.分析:用react开发一个类似bootstrap4中的card组件http://v4-alpha.getbootstrap.com/components/card/,界面类似如下: 2. ...

  3. Atom编辑器之加快React开发的插件汇总

    汇总下比较实用的atom插件[偏react开发的]-- 博主发现这个还是比较全面的! atom-react-autocomplete–项目内,组件名及状态的自动补全  autocomplete-js- ...

  4. 用Inferno代替React开发高性能响应式WEB应用

    什么是Inferno Inferno可以看做是React的另一个精简.高性能实现.它的使用方式跟React基本相同,无论是JSX语法.组件的建立.组件的生命周期,还是与Redux或Mobx的配合.路由 ...

  5. vsCode工具做react开发,几个常用插件

    一.环境准备: 1.下载安装VSCode,Node.js,Yarn 2.打开命令行终端或powershell,输入yarn global add create-react-app安装react的脚手架 ...

  6. 使用create-react-app 快速构建 React 开发环境以及react-router 4.x路由配置

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

  7. react学习笔记(一)用create-react-app构建 React 开发环境

    React 可以高效.灵活的用来构建用户界面框架,react利用高效的算法最小化重绘DOM. create-react-app 是来自于 Facebook,通过该命令不需配置就能快速构建 React ...

  8. 【React】使用 create-react-app 快速构建 React 开发环境

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

  9. Webpack笔记(二)——搭建React开发环境

    前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...

  10. react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题

    步骤一:项目环境搭建 首先,你不应该使用 React v15 或更高版本.使用仍然支持 IE8 的 React v0.14 即可. 技术选型: 1.react@0.14 2.bootstrap3 3. ...

随机推荐

  1. android/底层获取上下文对象

    public class ContextUtils { private static Context applicationContext = null; public static Context ...

  2. c#获取文件MD5算法

    //获取文件MD5算法 private static string GetMD5FromFile(string fileName) { try { FileStream file = new File ...

  3. ORACLE中修改表的Schema的总结

    前阵子遇到一个案例,需要将数据库中的几个表从USER A 移动到USER B下面,在ORACLE中,这个叫做更改表的所有者或者修改表的Schema.其实遇到这种案例,有好几种解决方法.下面我们通过实验 ...

  4. vc6.0转vs2005中字符串的问题

    简单一点:就是project->Property->Configuration Property-->general-->Character Set:No Set即可.详细分析 ...

  5. FusionCharts MSBar2D图

    1.页面展示 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...

  6. vxWorks下intel82567v3网卡驱动的更新

    /* 82567 devicesID */ #define INTEL_DEVICEID_82567LF              0x10BF#define INTEL_DEVICEID_82567 ...

  7. 做一个合格的Team Leader -- 基本概念

    1.领导和管理 人们乐于被领导:他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥. 管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作. 管理是客观的,没有个人感情因素,它假定被管理者没有思想和感 ...

  8. RAID卡技术简析

    经过一段时间的折腾,工作的事终于解决了,新工作一上来的第一件事就要熟悉RAID卡存储机制,先简单了解下RAID卡吧. 提到RAID卡就不得不提什么是RAID,RAID是英文Redundant Arra ...

  9. How to verify Certificate Pinning?

    Some friends of mine they worry about the risk of Man-in-the-middle so they ask me how to verify the ...

  10. ajax异步的问题,(主要解决有时候前台打断点和不打断点结果不一样的问题,一般情况下是存在异步的问题)

    一,代码 $(function() { $(".btn-submit").click(function() { if(!checkData()){ return; } var ur ...