NUXT-资源加载失败:服务器返回404状态。

6

我正在处理nuxt create-app的部署问题。

事实上,当我运行$ npm run generate时,它会生成一个dist文件夹,其中_nuxt/文件夹的路径不正确。

实际上,.html文件中正确的相对路径应该是_nuxt/test.js而不是/_nuxt/test.js(没有第一个“/”),因为它将在根目录中搜索文件。

我已经搜索了数小时,但无法找到有效的解决方案。我发现了这个Errors when publishing my nuxtjs website on SSR mode,但是说实话,我不知道如何实现它,什么是ngix?我必须修改哪个文件?我不知道。

以下是我的nuxt.config.js:

const pkg = require('./package')

module.exports = {
  mode: 'universal',

  /*
  ** Headers of the page
  */
  head: {
    title: pkg.name,
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: pkg.description },
      { hid: 'keywords', name: 'keywords', content: 'pellet, pellets, madrid, cuenca, segovia, toledo, guadalajara' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
      { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Merriweather|Open+Sans'},
      { rel: 'stylesheet', href: 'assets/fonts/fontawesome/css/all.css'}
    ]
  },

  /*
  ** Customize the progress-bar color
  */
  loading: { color: '#fff' },

  /*
  ** Global CSS
  */
  css: [
    // SCSS file in the project
    '@/assets/css/main.scss'
  ],

  /*
  ** Plugins to load before mounting the App
  */
  plugins: [
    '@/plugins/vee-validate'
  ],

  /*
  ** Nuxt.js modules
  */
  modules: [
    // Doc: https://axios.nuxtjs.org/usage
    '@nuxtjs/axios',
    // Doc: https://bootstrap-vue.js.org/docs/
    'bootstrap-vue/nuxt'
  ],
  /*
  ** Axios module configuration
  */
  axios: {
    // See https://github.com/nuxt-community/axios-module#options
  },

  /*
  ** Build configuration
  */
  build: {

    /*
    ** 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)/,
          options : {
            fix : true
          }
        })
      }
    },

    /*
    ** POST CSS 
    */
    postcss: {
      // Add plugin names as key and arguments as value
      // Install them before as dependencies with npm or yarn
      //postcss-loader autoprefixer
      plugins: {
       // Disable a plugin by passing false as value 
       // 'postcss-url': false,
       // 'postcss-nested': false,
       // 'postcss-responsive-type': false,
        'postcss-hexrgba': {}
      },
      preset: {
        // Change the postcss-preset-env settings
        autoprefixer: {
          grid: true
        }
      }
    }

  }
}

请帮助我最终解决这个噩梦。非常感谢。


1
这里的答案似乎不起作用。你找到出路了吗? - Neithan Max
2个回答

3

我不确定你使用build设置时的情况,Hasan。其中publicPath设置为"public".

在我的情况下,我只是用.nuxt/dist/client/替换了public/,然后对我起作用了。

p.s .nuxt/是一个隐藏文件夹


1
你需要为生产创建一个单独的文件,并重新构建。

  1. 运行pm2 init(此后将创建ecosystem.config.js文件)
  2. 运行pm2 start

应用程序已成功在您的域上运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接