React 虽然是个很简单的 UI 库,API 也很少,但是在实际项目中却发现要搭配各种技术栈,例如 Webpack,Babel,Redux,React Router,CSS Modules,NPM,ES6/7 等等,仿佛怎么也学不完,很多人开始吐槽前端发展混乱,例如文章:2016 年学 JavaScript 是一种什么样的体验?吐槽归吐槽,扩充自己的技术栈,了解国外前端都在玩什么,毕竟不是坏事。
本系列教程不需要预先了解太多原理,跟着做,实践之后不懂再去查看文档,更有利于入门。
TIP: NPM 下载慢可以切换到淘宝源:NPM 切换淘宝源
1. 首先,建立项目目录,npm init 初始化 npm 项目
- mkdir react-start
- cd react-start
- npm init
2. 全局安装 Webpack,Webpack-dev-server
- sudo npm install babel webpack webpack-dev-server -g
3. 安装 react,react-dom
- npm install react react-dom --save
4. 安装 Babel 转换器,需要用到插件 babel-preset-react,babel-preset-latest,latest 即最新的 ES 规范,包括了 Async/Await 这些新特性。
- npm install babel-loader babel-core babel-preset-react babel-preset-latest --save
5. 创建项目文件,main.js 即项目入口文件,App.js 即 React 组件主文件
- touch index.html App.js main.js webpack.config.js
6. Webpack 配置
- module.exports = {
- entry: './main.js',// 入口文件路径
- output: {
- path: './',filename: 'index.js'
- },devServer: {
- inline: true,port: 3333
- },module: {
- loaders: [
- {
- test: /\.js$/,// babel 转换为兼容性的 js
- exclude: /node_modules/,loader: 'babel',query: {
- presets: ['react','latest']
- }
- }
- ]
- }
- }
6. 其他文件内容,一些基本的 React 和 ES6 基础,不做过多讲解了。
index.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <Meta charset="UTF-8">
- <title>React Start</title>
- </head>
- <body>
- <div id="app"></div>
- <script src="index.js"></script>
- </body>
- </html>
App.js
- import React from 'react';
- class App extends React.Component {
- render() {
- return <div>Hello World</div>
- }
- }
- export default App
main.js
- import React from 'react';
- import ReactDOM from 'react-dom';
- import App from './App';
- ReactDOM.render(<App />,document.getElementById('app'))
7. 配置 npm scripts,编辑 package.json
- "scripts": {
- "start": "webpack-dev-server"
- },
8. 基本的框架搭建完毕,npm start 然后打开 http://localhost:3333 试试
- npm start