mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
408633c1dc
* Remove traces of glamor As talked about with @rauchg. Glamor takes up around 60KB of the bundle (pre-gzip). Since styled-jsx is the way to go now and we support adding glamor by the user we should remove it as dependency cause it is bundled even when not used. Added rehydration to the example, since we did that in our code. There is only one thing I'm not sure about and want to discuss: what should we do with next/css. Right now I added a throw for when it is imported. I'm not sure if we should do that / some other way to notify the user it has been removed. The reasoning behind the throw is that when we would do a console.warn the user would see 'css.default.<X>' not found because we don't have the glamor dependency anymore. * Update yarn.lock * Remove test for styles
34 lines
757 B
JavaScript
34 lines
757 B
JavaScript
import Document, { Head, Main, NextScript } from 'next/document'
|
|
import { renderStatic } from 'glamor/server'
|
|
|
|
export default class MyDocument extends Document {
|
|
static async getInitialProps ({ renderPage }) {
|
|
const page = renderPage()
|
|
const styles = renderStatic(() => page.html)
|
|
return { ...page, ...styles }
|
|
}
|
|
|
|
constructor (props) {
|
|
super(props)
|
|
const { __NEXT_DATA__, ids } = props
|
|
if (ids) {
|
|
__NEXT_DATA__.ids = this.props.ids
|
|
}
|
|
}
|
|
|
|
render () {
|
|
return (
|
|
<html>
|
|
<Head>
|
|
<title>My page</title>
|
|
<style dangerouslySetInnerHTML={{ __html: this.props.css }} />
|
|
</Head>
|
|
<body>
|
|
<Main />
|
|
<NextScript />
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|
|
}
|