npm install -g create-react-app
裝完以後,生成一個新的項目,能夠使用下面的命令:javascript
create-react-app my-app cd my-app/
yarn start
線上編譯命令css
npm run build
在開發react應用時,不免與服務器進行數據交互,就是要跟api打交道。java
這個時候,有一個問題。react
api存在的服務器多是跟react應用徹底分開的,並且,開發環境跟線上環境又不太同樣。jquery
好比,開發環境中,你的react應用是跑在3000端口的,但是api服務可能跑在3001端口,這個時候,你跟api服務器交互的時候,可能會使用fetch
或各類請求庫,好比jquery的ajax。webpack
這個時候可能會遇到CORS問題,畢竟端口不一樣,而線上環境卻沒有這個問題,由於你都控制線上環境的react應用和api應用,跑在同一個端口上。git
按照以往思路,解決的方法多是用環境變量,好比:github
const apiBaseUrl = process.env.NODE_ENV === 'development' ? 'localhost:3001' : '/'
可是這樣搞起來,仍是有些複雜,然而,create-react-app
提供了一個超級簡單的方法,只須要在package.json
文件中,加一個配置項就能夠了。web
好比:ajax
"proxy": "http://localhost:3001/",
至於你用的是http的何種請求庫,都是同樣的,不用改任何代碼。這個選項,只對開發環境有效,線上環境仍是保持react應用和api應用同一個端口。
2、使用less
安裝less、less-loader依賴包
a. yarn安裝
yarn add less less-loader
b. npm安裝
npm install --save less less-loader
在react-scripts/config文件夾找到webpack.config.dev.js和webpack.config.prod.js兩個文件
{ test: /\.(css|less)$/, loader: ExtractTextPlugin.extract( Object.assign( { fallback: require.resolve('style-loader'), use: [ { loader: require.resolve('css-loader'), options: { importLoaders: 1, minimize: true, sourceMap: shouldUseSourceMap, }, }, { loader: require.resolve('postcss-loader'), options: { // Necessary for external CSS imports to work // https://github.com/facebookincubator/create-react-app/issues/2677 ident: 'postcss', plugins: () => [ require('postcss-flexbugs-fixes'), autoprefixer({ browsers: [ '>1%', 'last 4 versions', 'Firefox ESR', 'not ie < 9', // React doesn't support IE8 anyway ], flexbox: 'no-2009', }), ], }, }, { loader: require.resolve('less-loader'), }, ], }, extractTextPluginOptions ) )
npm install antd-init -g
antd-init
基於dva的腳手架
首先是安裝腳手架
npm install dva-cli -g
dva new dvatest
npm start