react腳手架搭建及配置

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  
              )  
            )  

  

安裝 antd

npm install antd-init -g
antd-init

升級版本

基於dva的腳手架

首先是安裝腳手架

npm install dva-cli -g
dva new dvatest
npm start
相關文章
相關標籤/搜索