Далее Js - проблема с развертыванием Firebase - PullRequest
0 голосов
/ 09 июля 2020

Я создаю новое приложение Next Js, и это прямой способ развернуть приложение в vercel путем связывания проекта gitlab Next js. .

Для того же проекта мне нужно развернуть его в firebase.

Вещи, которые я пробовал:

-> Сделано firebase init

Это дает firebase. json,

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

Но приведенный выше дает ошибку, например,

введите описание изображения здесь

Из этой ошибки я могу понять, что он пытается получить индекс. html но я не уверен, где он будет после npm run build ..

Итак Я попытался указать каталог страниц и индекс. js файл, например,

{
  "hosting": {
    "public": "pages",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
    "rewrites": [{
      "source": "/pages/**",
      "destination": "/index.js"
    },
    {
      "source": "**",
      "destination": "/index.js"
    }]
}

Но это просто печатает код, доступный в index. js в пользовательском интерфейсе, например,

import React, { Component } from "react";
import Router from "next/router";

export default class Index extends Component {
  componentDidMount = () => {
    Router.push("/landing",'');
  };

  render() {
    return <div />;
  }
}

Файл gitlab-ci.yml выглядит следующим образом:

image: node:12.13.0-alpine

stages:
  - deploy

cache:                  
  paths:                
    - node_modules/     
  key: "$CI_BUILD_REPO" 

deploy-prod:
  stage: deploy
  only:
    - master
  script:
    - npm install
    - npm run build
    - npm install -g firebase-tools
    - firebase -V
    - firebase use anvisysytems --token "token_hidden"
    - firebase deploy --only hosting -m "Pipe $CI_PIPELINE_ID Build $CI_BUILD_ID" --token "token_hidden"
    

Пожалуйста, помогите мне добиться результата получения правильного индекса. html который получит создается после создания приложения Next Js и загружает содержимое приложения в пользовательский интерфейс вместо ошибок (как на изображении выше) или кода (например, index. js рендеринг кода в пользовательском интерфейсе).

...