首先按照官方文檔給出的步驟安裝create-react-app及各種依賴,
正常安裝至項目能夠啟動就好了,慢的話可以考慮將 npm 換成 cnpm ;
問題1:路由的配置
注意Router只能有一個根節點
import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom' import registerServiceWorker from './registerServiceWorker'; import './index.css'; import Demo from './containers/Demo'; import Page1 from './containers/Page1'; class Main extends Component{ render(){ return ( <Router> <div> <Route path="/demo" component={Demo}/> <Route path="/page1" component={Page1}/> </div> </Router> ) } } ReactDOM.render(<Main />,document.getElementById("root"));
問題2:less的引入
1) npm install less --save 裝上依賴;
2)在config里加上
webpackConfig.babel.plugins.push(['import', { style: true, // if true, use less libraryName: 'antd-mobile' }]);
3) 重啟服務 ,直接在js頁面 import 自己的less 文件即可
問題3: 按需加載
1) 引入 babel-plugin-import
2)在 package.json 中加上 如下配置:
"babel": { "plugins": [ "add-module-exports", [ "babel-root-import", [ { "rootPathPrefix": "~", "rootPathSuffix": "scripts/dist" } ] ] ] }
問題4: antd 樣式失效(PS:其實難以啟齒,沒有這個問題的可以直接略過)
我不想說話,直接說方法吧。。。
在最外層的 html或者ejs等 引入框架樣式或者自定義主題的css或less文件即可
import 'antd-mobile/dist/antd-mobile.css'; // or 'antd-mobile/dist/antd-mobile.less' 有的使用link引入,是自己情況定 或者 import 'antd/dist/antd-mobile.css';// or 'antd/dist/antd-mobile.less'