Moment.js猜测时区暂时加载不正确的时区

时间:2016-07-29 19:33:44

标签: webpack momentjs webpack-hmr

Moment.js猜测时区暂时加载UTC然后切换到正确的时区。

我已将其缩小到似乎是webpack在bundle.js获取正确时区之前首先加载moment.tz.guess()文件。

alt text

查看加载时间,看看bundle.js完成加载后时区的变化情况。

任何想法如何解决这个问题?今天就出来了:/

1 个答案:

答案 0 :(得分:1)

我找到了! :d

所以基本上因为我们正在使用HMR进行服务器和客户端呈现,问题是它在服务器上加载UTC,然后将其作为UTC发送出去被客户端用正确的时区覆盖。我所要做的就是这样。

const __CLIENT__ = !!global.window

export class Something extends Component {
  state = {
    timezone: /\(([^)]+)\)/.exec(new Date())[1]
  }
  render () {
    return (
      <div>
        {__CLIENT__ && <div>{`Times are being displayed in ${timezone} time.`}</div>
      </div>
    )
  }
}