-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnext.config.js
47 lines (43 loc) · 1.43 KB
/
next.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/** @type {import('next').NextConfig} */
const env = require('./next.config.env.json');
const images = env.localImages ? { loader: 'default' } : { loader: 'custom', loaderFile: './image-loader.js' };
const nextConfig = {
images,
env,
reactStrictMode: true,
compiler: {
styledComponents: true,
},
webpack(config, options) {
const { isServer } = options;
config.module.rules.push({
test: /\.(ogg|mp3|wav|mpe?g|mov)$/i,
exclude: config.exclude,
use: [
{
loader: require.resolve('url-loader'),
options: {
limit: config.inlineImageLimit,
fallback: require.resolve('file-loader'),
publicPath: `${config.assetPrefix}/_next/static/images/`,
outputPath: `${isServer ? '../' : ''}static/images/`,
name: '[name]-[hash].[ext]',
esModule: config.esModule || false,
},
},
],
});
config.experiments = { ...config.experiments, topLevelAwait: true };
return config;
},
async rewrites() {
return [
// Rewrite everything else to use `pages/index`
{
source: '/:path*',
destination: '/',
},
];
},
};
module.exports = nextConfig;