npm环境搭建
nodejs安装参考Nnodejs官网- 安装完毕后用
npm --version查看nodejs是否安装成功
工程初始化
- 用
npm init初始化工程,在根目录产生一个package.json文件
webpack安装
- 用
npm install webpack webpack-cli webpack-dev-server webpack-merge安装webpack和其相关的包,安装完毕后会在package.json文件的dependencies选项中看到刚刚安装的包
react安装
- 用
npm install react react-dom安装react和其相关的包,安装完毕后会在package.json文件的dependencies选项中看到刚刚安装的包 - 由于
react使用ES6语法大多数无法支持,所以还需用npm install babel babel-core babel-loader babel-preset-env babel-preset-es2015 babel-preset-react安装babel和其相关的包把ES6语法转化,安装完毕后会在package.json文件的dependencies选项中看到刚刚安装的包 - 由于
react使用ES6语法大多数无法在class中支持箭头,所以还需用npm install babel-preset-stage-0 babel-plugin-transform-class-properties安装相关的包把语法转化,安装完毕后会在package.json文件的dependencies选项中看到刚刚安装的包
hello word的实现
- 用
npm install uglifyjs-webpack-plugin html-webpack-plugin clean-webpack-plugin安装其它依赖包 - 在根目录下新建
webpack.config.js文件作为webpack的基础通用配置,配置文件如下:
1 | const path = require('path'); |
- 在根目录下新建
webpack.dev.js文件作为webpack的开发者模式配置,配置文件如下:
1 | const merge = require('webpack-merge'); |
- 在根目录下新建
webpack.prod.js文件作为webpack的生产环境配置,配置文件如下:
1 | const webpack = require('webpack'); |
- 在根目录下新建
.babelrc文件作为react的开发环境下babel的配置,配置文件如下:
1 | { |
- 在根目录下的
packge.json中加入命令,配置文件如下:
1 | { |
在根目录下新建
src文件夹,并在文件夹下新建index.js,index.html,componentTest.js文件index.js是webpack的入口文件,文件内容如下:1
2
3
4
5
6
7import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import ComponentTest from './componentTest';
ReactDOM.render(
<ComponentTest />,
document.getElementById('root')
);index.html是webpack的打包模板文件,文件内容如下:1
2
3
4
5
6
7
8
9<!doctype html>
<html>
<head>
<title>Getting Started</title>
</head>
<body>
<div id="root"></div>
</body>
</html>componentTest.js是react的一个组件,文件内容如下:1
2
3
4
5import React from 'react';
const componentTest = () => (
<h1>hello react</h1>
);
export default componentTest;
在命令行中输入
npm start即可运行项目,在打开的http://localhost:8080/网页中看到输出的hello react
总结
- 文件目录结构
1
2
3
4
5
6
7
8
9
10|---src
| |---index.html(html模板文件)
| |---index.js(webpack入口文件)
| |---componentTest.js(React测试组件文件)
|---.babelrc(babel配置文件)
|---package-lock.json(自动生成的文件)
|---package.json(依赖包文件)
|---webpack.config.js(webpack公共配置文件)
|---webpack.dev.js(开发环境下的webpack配置文件)
|---webpack.prod.js(生产环境下的webpack配置文件)