Как установить правильный путь для личного домена для страниц gitlab с vuejs?

Я хочу настроить свой личный домен для моей страницы gitlab

Я настроил свой проект vuejs, как с .gitlab-ci.yml

pages:
 image: node:latest
 stage: deploy
 script:
  - npm install --progress=false
  - npm run build
  - rm -rf public
  - mkdir public
  - cp -r dist/* public
 artifacts:
  expire_in: 1 day
  paths:
  - public
 only:
  - master

и я добавил файл vue.config.js, содержащий

module.exports = module.exports = {
  publicPath: process.env.NODE_ENV === "production" ? "/<ProjectName>/" : "/",
};

Кроме того, я смог настроить свой собственный домен после это руководство.

моя страница проекта открывается нормально на https://<userName>.gitlab.io/<ProjectName>/

но когда я использую свой личный домен <myDomain>.com, страница остается пустой. Когда я проверяю страницу

Я вижу следующее сообщение

Refused to apply style from 
'https://<myDomain>.com/<ProjectName>/css/app.a4f1ea2f.css' 
because its MIME type ('text/html') is not a 
supported stylesheet MIME type, and strict MIME checking is enabled.

теперь, когда я открываю сайт без названия проекта https://<myDomain>.com/css/app.a4f1ea2f.css. отображается содержимое сжатого css.

когда я вынимаю publicPath: process.env.NODE_ENV === "production" ? "/<ProjectName>/" : "/",, https://<myDomain>.com работает, но https://<userName>.gitlab.io/<ProjectName>/ больше не работает.

Поэтому я предполагаю, что существует проблема с путем. А именно <ProjectName>, скорее всего, вызывает проблему. Как правильно настроить страницу? Как я могу использовать оба домена?

Если ваше приложение должно быть доступно на <myDomain>.com, оставьте publicPath как "/".

Michal Levý 09.04.2021 18:26

Но это будет означать, что https://<userName>.gitlab.io/<ProjectName>/ не будет доступен.

A.Dumas 09.04.2021 18:41
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
12
1

Ответы 1

Когда одно и то же приложение должно быть доступно в двух разных доменах - в корне одного и в подпутье другого - единственным решением, вероятно, является установка publicPath на относительный путь.

Документация Vue CLI

The value (publicPath) can also be set to an empty string ('') or a relative path (./) so that all assets are linked using relative paths. This allows the built bundle to be deployed under any public path, or used in a file system based environment like a Cordova hybrid app.

Дело в том, что если на вашем сайте используется относительная ссылка без ведущей косой черты, она должна интерпретироваться браузером как путь относительно текущего пути (источник), и в результате вы можете развернуть его по любому общедоступному пути ...

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