doyoe/Yo

示例在手机浏览器加载不了列表和详情页

Closed this issue · 3 comments

1、windows上搭建的node环境,ykit init yo 然后ykit server 的示例。list和detail无法异步加载。
2、能不能把http://ued.qunar.com/hy2/yo/demo开源出来
thanks!


import 'babel-polyfill';
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, IndexRoute, Link } from '$router';
import HomePage from './home';
//import List from './list';
//import Detail from './detail';
import Detail from './list';
import DetailPage from './detail';
import yoHistory from '../../common/history';

//const List = require.async('./list');
//const Detail1 = require.async('./detail');

const Root = () => (
    <Router history={yoHistory}>
        <Route path="/">
            <IndexRoute component={HomePage}/>
            <Route path="list" component={Detail} />   
            <Route path="detail" component={DetailPage} />        
        </Route>

        
    </Router>
);

ReactDOM.render(<Root />, document.getElementById('root'));

这样直接加载才能在手机浏览器上跳转,pc上用async是没问题。

实际上在手机访问的时候异步加载资源路径会遵从 ykit.js 中的 publicPath 配置,默认是 127.0.0.1,因此直接用手机访问时候导致了异步资源找不到。你需要在配置中把 127.0.01 改为你自己的测试域名。

比如手机测试时访问的是 test.com/xxx/xxx.html(test.com 这个域名已经通过 host 配置到 pc 上),然后将 ykit.js 中的 publicPath 的 127.0.0.1 替换为 test.com 即可。

@roscoe054 明白了,谢谢!