React开发环境搭建(react,babel,webpack webpack-dev-server)
最终效果:
配置webpack 自动编译脚本, 内容更改后浏览器页面自动刷新,提高效率。 主要靠webpack 的watch 功能。
npm 全局安装的包: webpack webpack-cli webpack-dev-server.
项目内2个文件 package.json. webpack.config.js 配置如下。截图不是最简单结构, 后面增加redux, react-redux 包加了点东西。
需要建立这样的目录后, npm install 就会根据package.json安装项目需要的包。 而根据webpack.config.js 就会自动运行。 详细的东西不再介绍, 专题学习更加稳妥。
目录结构:

//webpack.config.js 配置文件
const path = require('path');
module.exports = {
entry: "./www/app/main.js", //入口文件
output: { //出口文件
path: path.resolve(__dirname, "www/dist"), //打包到哪个文件夹中
filename: "bundle.js", //打包到哪个文件
publicPath : "/xuni"
},
watch : true,
mode: "development",
module : {
rules: [
{
test: /\.js$/, //以.js结尾的文件
include: [
path.resolve(__dirname, "www/app") //包括什么文件夹
],
exclude: [
path.resolve(__dirname, "node_modules") //不包括
],
loader: "babel-loader",
options: {
presets: ["env","react"]
}
}
]
}
}
1 //package.json 文件。
2
3 {
4 "name": "react-0327",
5 "version": "1.0.0",
6 "description": "",
7 "main": "index.js",
8 "scripts": {
9 "dev": "webpack-dev-server --content-base ./www --port 8080"
10 },
11 "author": "",
12 "license": "ISC",
13 "devDependencies": {
14 "babel-core": "^6.24.1",
15 "babel-loader": "^7.1.4",
16 "babel-preset-env": "^1.7.0",
17 "babel-preset-react": "^6.24.1"
18 },
19 "dependencies": {
20 "react": "^16.8.5",
21 "react-dom": "^16.8.5"
22 }
}
需要注意的引入babel-loader 后。 相应高低版本问题, 出现问题, 根据提示即可解决。 譬如本例用到env, react 2个babel loader. 是比较新的版本, 如果用babel-present-es2015 则是低版本支持, 根据提示搜索即可解决问题。
根据webpack的配置。 在index.html 引入js 文件方式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app"></div>
<script src="xuni/bundle.js"></script>
</body>
</html>
入口Main.js 和组件App.js 分别为:
//main.js
import React from "react";
import ReactDOM from "react-dom";
import App from "./App.js";
ReactDOM.render(
<App></App>
,
document.getElementById("app")
);
//App.js
import React from "react";
export default class App extends React.Component{
constructor(){
super();
}
render(){
return <div>
<h1>React 第一步 </h1>
</div> } }
参考:
http://https://www.valentinog.com/blog/react-webpack-babel/
https://www.cnblogs.com/chenziyu-blog/p/5675086.html
React开发环境搭建(react,babel,webpack webpack-dev-server)的更多相关文章
- 1. React介绍 React开发环境搭建 React第一个程序
什么是 React React 是 Facebook 发布的 JavaScript 库,以其高性能和独特的设计理念受到了广泛关注. React的开发背景 Faceboo ...
- 基于webpack的react开发环境搭建新手教程
最近学习react-webpack项目搭建,找到一篇我认为不错的博客,跟着学习了一番,写得很详细很好,本篇博客纯属记录总结,要看更详细的搭建过程及解析,请戳: 基于webpack的React项目搭建( ...
- es6开发环境搭建,babel 将es6转化成es5
工欲善其事,必先利其器.所以我们第1节就是搭建一个基本的ES6开发环境.现在的Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成E ...
- react开发环境搭建
---恢复内容开始--- 要想用react,需要安装: 1)babel-sublime: 作用:编译es6,支持ES6, React.js, jsx代码高亮,并对所编译的代码进行高亮显示. 安装步骤: ...
- 详解 Webpack+Babel+React 开发环境的搭建
1.认识Webpack 构建应用前我们先来了解一下Webpack, Webpack是一个模块打包工具,能够把各种文件(例如:ReactJS.Babel.Coffeescript.Less/Sass等) ...
- Webpack笔记(二)——搭建React开发环境
前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...
- 搭建 webpack、react 开发环境(二)
配置处理样式文件 到目前为止,整个工程的配置已经差不多了,对于 React 更多相关的配置将在后面继续介绍,现在我们先来对目前的工程进行优化. 前面我们学习了搭建 webpack.react 开发 ...
- 搭建 webpack、react 开发环境(一)
基本介绍 Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,它可以将多种静态资源 JavaScript.css.le ...
- 搭建 webpack、react 开发环境(三)
配置 react-router-dom 我们开发一个 React 工程肯定不是一两个“页面”就可以满足需求的,所以我们需要一个在多个“页面”中跳转的功能,在使用 React 构建的单页面应用中,要 ...
随机推荐
- centos7的启动流程
CentOS7的启动流程 uefi或BIOS初始化,开始开机自检 加载mbr到内存 GRUB的阶段 加载内核和inintamfs模块 kernel内核开始初始化,用systemd来代替centos6以 ...
- zabbix AGENTS 在WINDOWS的安装
1.下载 https://assets.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip 解压 zabbix_agents_3.4.0.wi ...
- linux Posix线程同步(条件变量) 实例
条件变量:与互斥量一起使用,暂时申请不到某资源时进入条件阻塞等待,当资源具备时线程恢复运行 应用场合:生产线程不断的生产资源,并通知产生资源的条件,消费线程在没有资源情况下进入条件等待,一直等到条件信 ...
- 创建GitHub仓库并与本地Git绑定
由于工作要使用GitLab,这里总结并实际操作使用一下Git. 大家都知道,Git是Linux支之父Linus Torvalds编写的一个版本控制软件.目前我们接触的与Git有关系的有三种,分别是Gi ...
- vue axios 取消上次请求
axios.defaults.timeout = 1000 * 5axios.defaults.baseURL = baseUrlvar CancelToken = axios.CancelToken ...
- 实验九 ZStack 广播通信实验
实验九 ZStack 广播通信实验[实验目的]1. 了解 ZigBee 广播通信的原理2. 掌握在 ZigBee 网络中进行广播通信的方法[实验设备]1. 装有 IAR 开发工具的 PC 机一台2. ...
- bee: command not found问题解决之道
$ bee bash: bee: command not found 遇到这个错误的时候,我希望您是所有环境全部安装好的情况下遇到的,如果你的环境没有安装好请参考 beego环境搭建http://bl ...
- MySQL 8.0常见问题
1.连接问题: 1.1:8.0的驱动地址更换由原来的com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver 1.2:8.0以后访问地址要加上时区.编码等属性jd ...
- pycharm汉化补丁
将压缩包内容复制到 x:\xxx\JetBrains\PyCharm Community Edition 2019.1\lib 目录下 链接:https://pan.baidu.com/s/1TLEP ...
- Setting
http://www.cnblogs.com/felixwang2/p/8798653.html