Css 如何使用vuejs为gitlab页面的自定义域设置正确的路径?
我想为我的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 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//
将无法访问