Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何使用vuejs为gitlab页面的自定义域设置正确的路径?_Css_Vue.js_Gitlab - Fatal编程技术网

Css 如何使用vuejs为gitlab页面的自定义域设置正确的路径?

Css 如何使用vuejs为gitlab页面的自定义域设置正确的路径?,css,vue.js,gitlab,Css,Vue.js,Gitlab,我想为我的gitlab页面设置自定义域 我使用.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

我想为我的gitlab页面设置自定义域

我使用
.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>/" : "/",
};

module.exports=module.exports={
publicPath:process.env.NODE_env==“生产”?“/”:“/”,
};
此外,我还可以按照以下步骤设置我的自定义域

我的项目页面在
https://.gitlab.io//

但是当我使用自定义域
.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://.com//css/app.a4f1ea2f.css' 
因为它的MIME类型('text/html')不是
支持样式表MIME类型,并启用严格的MIME检查。
现在,当我打开没有项目名称的站点时
https://.com/css/app.a4f1ea2f.css
。 将显示压缩css的内容

当我取出
publicPath:process.env.NODE_env==“production”时?“//”:“/”,
然后
https://.com
有效,但
https://.gitlab.io//
不再工作了


因此,我假设路径存在问题。也就是说,
最有可能导致问题。如何正确设置页面?如何使用这两个域?

当同一个应用程序应该可以在两个不同的域(一个域的根域和另一个域的子路径)上访问时,唯一的解决方案可能是将
publicPath
设置为相对路径

值(
publicPath
)也可以设置为空字符串(
'
)或相对路径(
/
),以便使用相对路径链接所有资产。这允许在任何公共路径下部署构建的捆绑包,或者在基于文件系统的环境中使用,如Cordova混合应用程序


关键是,如果您的站点使用的是相对链接而没有前导斜杠,那么浏览器应该将其解释为相对于当前路径的路径(),因此,您可以在任何公共路径下部署…

如果您的应用程序应该可以在
.com
上访问,请将
公共路径
保留为
“/”
但这意味着
https://.gitlab.io//
将无法访问