提交 729088cb 编写于 作者: G Guillermo Rauch

Merge branch 'master' of github.com:zeit/next.js

...@@ -42,8 +42,8 @@ const dir = resolve(argv._[0] || '.') ...@@ -42,8 +42,8 @@ const dir = resolve(argv._[0] || '.')
const srv = new Server({ dir }) const srv = new Server({ dir })
if (!existsSync(resolve(dir, '.next'))) { if (!existsSync(resolve(dir, '.next', 'BUILD_ID'))) {
console.error(`> Could not find the '.next' directory! Try building your app with 'next build' before starting the server.`) console.error(`> Could not find a valid build in the '.next' directory! Try building your app with 'next build' before starting the server.`)
process.exit(1) process.exit(1)
} }
......
import Head from 'next/head' import Head from 'next/head'
import Link from 'next/link' import Link from 'next/link'
import { PureComponent } from 'react'
import Avatar from 'react-md/lib/Avatars' import Avatar from 'react-md/lib/Avatars'
import Button from 'react-md/lib/Buttons/Button' import Button from 'react-md/lib/Buttons/Button'
import FontIcon from 'react-md/lib/FontIcons' import FontIcon from 'react-md/lib/FontIcons'
...@@ -28,17 +30,23 @@ const drawerHeaderChildren = [ ...@@ -28,17 +30,23 @@ const drawerHeaderChildren = [
/> />
] ]
const NavigationLink = (props) => { class NavigationLink extends PureComponent {
const { href, as, children, ..._props } = props // NOTE: Don't try using Stateless (function) component here. `ref` is
return ( // required by React-MD/AccessibleFakeButton, but Stateless components
<div {..._props}> // don't have one by design:
<Link href={href} as={as}> // https://github.com/facebook/react/issues/4936
<a className='md-list-tile' style={{padding: 0, overflow: 'hidden'}}> render () {
{children} const { href, as, children, ..._props } = this.props
</a> return (
</Link> <div {..._props} style={{padding: 0}}>
</div> <Link href={href} as={as}>
) <a className='md-list-tile md-list-tile--mini' style={{width: '100%', overflow: 'hidden'}}>
{children}
</a>
</Link>
</div>
)
}
} }
export default () => { export default () => {
......
...@@ -154,11 +154,12 @@ export default async function createCompiler (dir, { dev = false, quiet = false ...@@ -154,11 +154,12 @@ export default async function createCompiler (dir, { dev = false, quiet = false
if (!(/\.js$/.test(interpolatedName))) { if (!(/\.js$/.test(interpolatedName))) {
return { content, sourceMap } return { content, sourceMap }
} }
const babelRuntimePath = require.resolve('babel-runtime/package')
.replace(/[\\/]package\.json$/, '')
const transpiled = babelCore.transform(content, { const transpiled = babelCore.transform(content, {
presets: [require.resolve('babel-preset-es2015')], presets: [require.resolve('babel-preset-es2015')],
sourceMaps: dev ? 'both' : false, sourceMaps: dev ? 'both' : false,
// Here we need to resolve styled-jsx/style to the absolute paths. // Here we need to resolve all modules to the absolute paths.
// Earlier we did it with the babel-preset. // Earlier we did it with the babel-preset.
// But since we don't transpile ES2015 in the preset this is not resolving. // But since we don't transpile ES2015 in the preset this is not resolving.
// That's why we need to do it here. // That's why we need to do it here.
...@@ -168,7 +169,16 @@ export default async function createCompiler (dir, { dev = false, quiet = false ...@@ -168,7 +169,16 @@ export default async function createCompiler (dir, { dev = false, quiet = false
require.resolve('babel-plugin-module-resolver'), require.resolve('babel-plugin-module-resolver'),
{ {
alias: { alias: {
'styled-jsx/style': require.resolve('styled-jsx/style') 'babel-runtime': babelRuntimePath,
react: require.resolve('react'),
'react-dom': require.resolve('react-dom'),
'react-dom/server': require.resolve('react-dom/server'),
'next/link': require.resolve('../../lib/link'),
'next/prefetch': require.resolve('../../lib/prefetch'),
'next/css': require.resolve('../../lib/css'),
'next/head': require.resolve('../../lib/head'),
'next/document': require.resolve('../../server/document'),
'next/router': require.resolve('../../lib/router')
} }
} }
] ]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册