Gridsome page routes are now lower case - vue.js

Gridsome changes the uppercase path of /Clients to the lowercase path /clients when its built.
This means that setting a router path will not work as the path is case sensitive:
this.$router.push('/Clients')
How can I avoid this? Is it webpack? Does Gridsome want to avoid using router paths?
Further Example:
Pages in development -
Will build to a folder in the /dist directory:
Because the path is static and is not updated on the build, the path now does not work.
Any suggestions on how to avoid this or how to keep the path the same would be great.

Related

Vue router relative path

When I copy my build dist folder on my serve, the website is http://my_site/project/
But when I click to change page (ex : inventory) the URL become http://my_site/inventory
I need a URL like http://my_site/project/inventory without hardcode it in my code.
I use Vue JS, vue-router and vite JS (vite-config file).
Thanks for your help

Static site generation with Nuxt.JS using relative paths

I'm using Nuxt 2.15.8 to generate static pages (migrating to Nuxt 3 is also an option for me if it solves the problem).
It works great when deployed in the root folder of the server but I need it to be served in a subdirectory, like:
https://my.domain.com/folder/subfolder
The problem is that the compiled HTML includes nuxt related assets like:
/_nuxt/123456789.js
which translates to:
https://my.domain.com/_nuxt/123456789.js which obviously fails as the file is in a subfolder, not in the root.
I tried using publicPath config and absolute paths but it is not an option for me as I have several environments with different URLs.
I need to generate static HTML files with relative paths in order to make sure my site works as expected in all the environments, agnostically from the server URL.
I was able to achieve it using Vite + Vue 3 but migrating to a new implementation is not an option, I need to achieve it using the current Nuxt implementation.
I tried using nuxt-vite https://vite.nuxtjs.org/ but was not able to achieve relative paths, I still get
/_nuxt/123456789.js
instead of
./_nuxt/123456789.js
../_nuxt/123456789.js
../../_nuxt/123456789.js
, etc
It seems like it's not supported in plain nuxt 2 but if you use nuxt-vite you can set vite.base to '' or './' in nuxt.config to make the paths relative.
Try this out:
export default defineNuxtConfig({
app: {
baseURL: '/mydir',
buildAssetsDir: '/mydir/_nuxt/',
},
Or just edit index.html manually...

How can I make paths in generated NUXT app index.html relative?

After running
yarn generate
The generated index.html has absolute paths e.g.
/_nuxt/44ae8a8.js
What simple setting again can be used to achieve relative paths instead:
./_nuxt/44ae8a8.js
It's tedious having to do a find and replace and I find the documentation on dir and rootDir properties rather confusing.

Run Aurelia CLI app from a directory

I would like to deploy my app to a virtual directory. I have been unable to figure out the correct configuration needed to run the app locally with a similar structure. For example, I'd like to run it from:
http://localhost:8080/demos
I have tried every combination of adding "demos" to publicPath and contentBase in my webpack config. The errors just between 404's on static assets and router errors from Aurelia.
It is documented by Aurelia router, you can add base tag to index.html header, <base href="/demos">, and set router root config.options.root = "/demos"; in configureRouter().
In addition, if your bundled js files are indeed served from directory, you need to modified baseDir in 2 places of aurelia.json: platform.baseDir and build.targets[0].baseDir.

aurelia bundle - serve from a single directory

Trying to use the aurelia cli bundling facility.
Is it possible to serve all app files (i.e. index.html, app-bundle.html, app-bundle.js, etc) from a single directory or index.html must be at the top (./) directory and the other files in a child (./dist) directory?
Under the covers the cli is using JSPM / System.js's bundling functionality. This works by looking at your config.js paths on where to find the files both for the bundle and when serving. If your paths are set up to serve from the root directory this should work as expected. The problem will be that if you are trying to bundle root it will try to grab all .js files in there which could be bad if you don't exclude them.