捆绑快速.js和下一个.js应用程序抛出错误:找不到模块 next.config.js'



我已经设置了一个express.js + next.js app,它在开发环境中运行良好。当我尝试运行其webpack捆绑包时,它的抛出错误

Error: Cannot find module '/Users/user/workspace/project/next.config.js'

我正在尝试运行它的捆绑包,因为aws-lamda不允许我上传超过 50MB 的 zip 大小。

// server.js
const express = require('express');
const argv = require('yargs').argv;    
const nextApp = require('./nextApp.js');
const handle = nextApp.getRequestHandler();
const pageRoutes = require('./routes/pages/index.js');
const port = argv.port || 3000;
const server = express();
// route to next.js web pages
server.use('/', pageRoutes);
server.get('*', (req, res) => {
  return handle(req, res)
});
nextApp.prepare()
  .then(() => {        
    server.listen(port, (err) => {
      if (err) throw err
      console.log(`> Ready on http://localhost:${port}`)
    });
  })
  .catch((ex) => {
    console.error(ex.stack)
    process.exit(1)
  });
module.exports = server;
到目前为止

,我发现我们可以/应该扩展next.config.js以添加额外的捆绑条目,而不是创建一个单独的webpack.config.js。以下配置将在构建/服务器目录中创建一个服务器捆绑.js文件。

const merge = require('webpack-merge');
module.exports = {
    distDir: 'build',
    webpack (config, {isServer}) {
        if (isServer) {
            return merge(config, {
                entry () {
                    return config.entry().then((entry) => {
                        return Object.assign({}, entry, { serverbundle: './server' })
                    })
                },
                output: {
                    filename: '[name].js'
                }
            });    
        }
        return config;
    }
  }

最新更新