Как использовать fastify с Nuxt?

Я создал приложение nuxt, используя: yarn create nuxt-app <my-project> с коа. Я создал второй файл index.js с помощью fastify-nuxt, и он работал, но теперь я получаю некоторые неприятные ошибки:

error in ./.nuxt/client.js

Module build failed: TypeError: this.setDynamic is not a function
at PluginPass.pre (/media/DarkHawk/srv/NodesProjects//mainWebsite/node_modules/babel-plugin-transform-runtime/lib/index.js:31:12)
at transformFile (/media/DarkHawk/srv/NodesProjects//mainWebsite/node_modules/@babel/core/lib/transformation/index.js:78:27)
at runSync (/media/DarkHawk/srv/NodesProjects//mainWebsite/node_modules/@babel/core/lib/transformation/index.js:45:3)
at runAsync (/media/DarkHawk/srv/NodesProjects//mainWebsite/node_modules/@babel/core/lib/transformation/index.js:35:14)
at process.nextTick (/media/DarkHawk/srv/NodesProjects/__/mainWebsite/node_modules/@babel/core/lib/transform.js:34:34)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)

@ multi webpack-hot-middleware/client?name=client&reload=true&timeout=30000&path=/__webpack_hmr ./.nuxt/client.js

Мой packages.json выглядит так:

{
  "name": "test",
  "version": "1.0.0",
  "description": "My groundbreaking Nuxt.js project",
  "author": "Gogs",
  "private": true,
  "scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
    "devfast": "cross-env NODE_ENV=development nodemon server/indexfas.js --watch server",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production node server/index.js",
    "generate": "nuxt generate",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
    "precommit": "npm run lint"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.0.0",
    "cookie": "^0.3.1",
    "cross-env": "^5.2.0",
    "fastify": "^1.12.1",
    "fastify-nuxt": "^1.0.12",
    "fastify-vue-plugin": "^1.2.3",
    "iview": "^3.1.3",
    "js-cookie": "^2.2.0",
    "koa": "^2.5.2",
    "koa-router": "^7.4.0",
    "nuxt": "^2.0.0",
    "paseto.js": "^0.1.2",
    "pg": "^7.5.0",
    "secure-password": "^3.1.0",
    "vue-loader": "^14.2.2"
  },
  "devDependencies": {
    "eslint": "^5.0.1",
    "eslint-config-prettier": "^3.1.0",
    "eslint-loader": "^2.0.0",
    "eslint-plugin-prettier": "2.6.2",
    "eslint-plugin-vue": "^4.0.0",
    "nodemon": "^1.11.0",
    "prettier": "1.14.3"
  }
}

И мой indexfas.js:

const host = process.env.HOST || '127.0.0.1'
const port = process.env.PORT || 3000

const fastify = require('fastify')()
const nuxtConfig = require('../nuxt.config')

fastify.register(require('fastify-nuxt'), nuxtConfig)
fastify.ready()

fastify.listen(port, () => {
  consola.info('> Listening on port 3000')
})

Что я могу сделать, чтобы заставить работать работать? Почему я получаю эту ошибку? Пару месяцев назад у меня не было этой ошибки при создании нового проекта Nuxt с fastify. Может быть, я что-то не правильно сделал?

Спасибо!

РЕДАКТИРОВАТЬ: После установки тонны пакетов, я, наконец, получил его для запуска без выдачи ошибки:

"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"@babel/traverse": "^7.1.4"

Мой раздел сборки файла nuxt.config.js:

  build: {
    analyze: true,
    babel: {
      presets: ['@babel/preset-env'],
      plugins: ['@babel/plugin-syntax-dynamic-import']
    },
    // filenames: {
    //   chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[chunkhash].js')
    // },
    /*
    ** You can extend webpack config here
    */
    extend(config, ctx) {
      // Run ESLint on save
      if (ctx.isDev && ctx.isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
      }
    }
  }

Но работают только определенные маршруты внутри fastify, а nuxt-маршруты - нет и возвращают PAge, не найденный.

0 ответов

Другие вопросы по тегам