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配置文件)