在我的nuxt.config.js文件中,我创建了一些应用程序多个部分所需的变量。我的主要目标是:
在这个例子中,我使用about.vue页面。链接的名称和url在nuxt.config文件中定义。创建一个对象,该对象将两个custom name
存储为about
的url
。我想将homepage.com/about的标准URL替换为homepage.com/custom-about。我应该从$config.ABOUT.URL
获得custom-about
。我把$config.ABOUT.URL都试过了。放弃URL,但两者都不起作用。如何将publicRuntimeConfig中创建的变量传递到同一nuxt.config.js文件中的路由器?
.env
ABOUT_NAME='Custom about'
ABOUT_URL='custom-about'
nuxt.config.js
publicRuntimeConfig: {
PAGE_TITLE: process.env.PAGE_TITLE || "Company",
ABOUT: {
NAME: process.env.ABOUT_NAME || "About us",
URL: process.env.ABOUT_URL || "/about"
},
}
...
router: {
extendRoutes: routesIn => {
routesIn.forEach(r => {
if (r.path.includes("/about")) {
r.path = r.path.replace("/about","/" + this.ABOUT.URL);
}
}
},
在我的评论中,有一个带有If you need this variable for a Nuxt module
的部分,但是的,我想我会编辑它,基本上添加... or anything at all in your nuxt.config.js file
。
在这里,你应该使用这个
r.path = r.path.replace("/about", "/", process.env.ABOUT_URL)