Как развернуть приложение next.js + express в Zeit сейчас UnhandledPromiseRejectionWarning noserverpages построен - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь развернуть свое приложение, являющееся сервером next.js + Express, только для обработки соединения с сокетом.

Вот так выглядит каталог моего проекта:

enter image description here

next.config.js:

const withCSS = require('@zeit/next-css')
module.exports = withCSS({

    webpack: config => {




      config.module.rules.push({
        test: /\.(eot|woff|woff2|ttf|svg|png|jpg|gif)$/,
        use: {
          loader: 'url-loader',
          options: {
            limit: 100000,
            name: '[name].[ext]'
          }
        }
      })

      return config
    }
  })

now.json:

{
    "version": 2,
    "builds": [
        {"src": "package.json", "use": "@now/next"},
        { "src": "server.js", "use": "@now/node" }
    ]
  }

часть скриптов в package.json:

"scripts": {
    "now-build": "next build",

    "dev": "node server.js",
    "build": "next build",
    "start": "cross-env NODE_ENV=production node server.js"
  }

ошибок, которые я получаю: server.js:

Error: No serverless pages were built. https://err.sh/zeit/now-builders/now-next-no-serverless-pages-built
    at Object.exports.build (/tmp/26a0d565/.build-utils/.builder/node_modules/@now/next/dist/index.js:275:19)
    at <anonymous>

package.json:

UnhandledPromiseRejectionWarning: TypeError: Data must be a string or a buffer
    at Hash.update (crypto.js:99:16)
    at ids.forEach.id (/tmp/2d245f3b/node_modules/next/dist/build/webpack/plugins/hashed-chunk-ids-plugin.js:24:41)

Если я следую инструкциям по ссылке для ошибки без сервера, я все равно получаю ту же ошибку.

const withCSS = require('@zeit/next-css')
module.exports = withCSS({
  target: 'serverless',

    webpack: config => {




      config.module.rules.push({
        test: /\.(eot|woff|woff2|ttf|svg|png|jpg|gif)$/,
        use: {
          loader: 'url-loader',
          options: {
            limit: 100000,
            name: '[name].[ext]'
          }
        }
      })

      return config
    }
  })

Если я удаляю now.json, а затем развертываю его, просто перечисляет папку на странице. В Интернете много говорится об этих ошибках, но я не могу их исправить

1 Ответ

0 голосов
/ 08 июля 2019

Попробуйте следующее.

const withCSS = require("@zeit/next-css");
const cssConfig = withCSS({
  webpack: config => {
    config.module.rules.push({
      test: /\.(eot|woff|woff2|ttf|svg|png|jpg|gif)$/,
      use: {
        loader: "url-loader",
        options: {
          limit: 100000,
          name: "[name].[ext]"
        }
      }
    });

    return config;
  }
});
module.exports = Object.assign(cssConfig, { target: "serverless" });


Я думаю, что конфиг неправильно слит. Вы можете сделать быструю проверку по console.log(cssConfig), если в конфигурации присутствует target:serverless.

...