环境准备
node、webstorm
创建项目
-
使用 create-react-app 快速构建 React 开发环境
create-react-app 自动创建的项目是基于 Webpack + ES6 。cnpm install -g create-react-app
-
使用 webstorm 开始项目
File -> new -> Project -> React App -> 选择 node 和 create-react-app 的版本
webstorm 会自动完成 npm start 等等工作,初始化项目后可以直接使用。在 console 可以看到如下显示:
img -
edit configurations
-
点击右上角的edit configurations
img -
选择左上角的 + ,选择 npm
img -
选择 script,把几种情况都加上,改好名字
img
-
-
启动项目
选择 start,点击运行
img
引入 React-Router
- 在 react-router 升级到4.0版本后,一般引用
react-router-dom
(用于 DOM 绑定的 React Router)即可。npm install -S react-router-dom
- 官方文档
https://reacttraining.com/react-router/web/guides/quick-start - 使用官方 BasicExample 来尝试一下
-
新建一个 routes.js 文件
/** * Created by zhy on 2017/7/27. */ import React from 'react' import { BrowserRouter as Router, Route, Link } from 'react-router-dom' const Home = () => ( <div> <h2>Home</h2> </div> ); const About = () => ( <div> <h2>About</h2> </div> ); const Topic = ({ match }) => ( <div> <h3>{match.params.topicId}</h3> </div> ); const Topics = ({ match }) => ( <div> <h2>Topics</h2> <ul> <li> <Link to={`${match.url}/rendering`}> Rendering with React </Link> </li> <li> <Link to={`${match.url}/components`}> Components </Link> </li> <li> <Link to={`${match.url}/props-v-state`}> Props v. State </Link> </li> </ul> <Route path={`${match.url}/:topicId`} component={Topic}/> <Route exact path={match.url} render={() => ( <h3>Please select a topic.</h3> )}/> </div> ); const routes = () => ( <Router> <div> <ul> <li><Link to="/">Home</Link></li> <li><Link to="/about">About</Link></li> <li><Link to="/topics">Topics</Link></li> </ul> <hr/> <Route exact path="/" component={Home}/> <Route path="/about" component={About}/> <Route path="/topics" component={Topics}/> </div> </Router> ); export default routes
-
修改index.js
// 添加 import Routes from './routes'; // 修改 ReactDOM.render(<Routes />, document.getElementById('root'));
-
效果如下
img
-
引入 less
-
暴露配置文件
create-react-app
生成的项目文,看不到webpack相关的配置文件,需要先暴露出来,使用如下命令即可:npm run eject
-
安装
less-loader
和less
npm install less-loader less --save-dev
-
修改
webpack
配置
修改webpack.config.dev.js
和webpack.config-prod.js
配置文件
改动1:
/.css$/ 改为 /.(css|less)$/,
改动2:
test: /.css$/ 改为 /.(css|less)$/
test: /.css$/ 的 use 数组配置增加 less-loader:{loader: require.resolve('less-loader')}
网友评论