Nuxt.js 배포, GitHub.io 정적 js 리소스 404 오류를 해결하는 방법

현상


  • Nuxt.js 프로젝트를 GitHub.io에 배포할 때 다음 오류가 발생했습니다.


  • 실제로 js 파일이 리포지토리에 있습니다.



  • 원인 추측


  • Nuxt.js Generate의 폴더 _nuxt 가 HTTP content-security-policy 보안을 위해 _nuxt/*.js 파일 액세스가 금지되었습니다.



  • 수정하는 방법


  • nuxt generate 나중에 Node.js 에서 폴더의 이름을 바꿉니다. 예를 들면 _nuxt -> static
  • nuxt.config.js 의 수정도 필요합니다.

  • nuxt.config.js


    {
      // Disable server-side rendering (https://go.nuxtjs.dev/ssr-mode)
      ssr: false,
      // Target (https://go.nuxtjs.dev/config-target)
      target: 'static',
      build: {
        extend(config, { isDev }) {
          if (!isDev) {
            config.output.publicPath = './static/'
          }
      },
      router: {
        mode: 'hash'
      },
    }
    

    generate


    # command
    nuxt generate
    

    빌드된 파일은 dist에 있습니다.

    node.js 처리


    // build/index.js
    const fs = require('fs-extra')
    const { resolve } = require('path')
    
    // Rename: _nuxt to static
    fs.moveSync(resolve(__dirname, '../dist/_nuxt'), resolve(__dirname, '../dist/static'))
    
    // command
    node build/index.js
    

    package.json 수정


    {
      "scripts": {
        "build": "nuxt generate && node build/index.js"
      }
    }
    

    하나의 명령으로 구두창을 빌드하고 폴더 이름을 변경합니다.
    // command
    npm run build
    

    비고



    출처 : htps : // 기주 b. 이 m / 또는 p 리코 rn cd / b ぉ g / t ree / m s r /

    Github 페이지 : htps // // p 리코 rn cd. 기주 b. 이오 / b ぉ g / ぢ st / 아 p ぇ b하고 /

    좋은 웹페이지 즐겨찾기