我正在尝试在我的nginx服务器上设置vue路由器。我遇到的问题是,如果我直接在浏览器myapp.com/mypath
中输入url,我的路线就不起作用。
我尝试了vue路由器文档中描述的服务器配置,以及建议的堆栈溢出类似配置。我当前的nginx位置配置如下:
location / {
try_files $uri $uri/ /index.html;
}
location /subscribe {
proxy_pass http://127.0.0.1/subscribe // express API app
}
所做的就是将任何路径重定向到我的根组件(path:/
),而不是/mypath
。这确实有意义,并且位置
似乎只重定向到索引文件。我如何重定向直接链接的myapp.com/mypath
到/mypath
路由在我的VueJS应用程序?
以下是我的vue路由现在的设置方式:
...
const routes = [
{ path: '/', component: Landing },
{ path: '/mypath', component: MyPath }
];
const router = new VueRouter({ mode: 'history', routes });
new Vue({
el: '#app',
router,
render: h => h(App)
});
>
得: /etc/nginx/sites-enabled
打开域的配置文件
在“root”下添加以下代码
location / {
try_files $uri $uri/ /index.html;
}
保存文件
使用以下命令重新启动nginx服务器:/etc/init.d/nginx restart
刷新浏览器
根据一位同事的建议,我找到了一个可能的解决方案。
我现在在nginx中将URI作为查询参数传递。现在我的配置是:
location / {
try_files $uri $uri/ /index.html?uri=$uri
}
然后在VueJS中的路由器配置中:
const routes = [
{
path: '/',
component: Landing,
beforeEnter: (to, from, next) => {
const { uri } = to.query;
if (uri != null && uri != '/') {
next(false);
router.push(uri);
} else {
next();
}
}
}, ...
这似乎起到了作用,尽管看起来有点狡猾。
我为解决同一个问题挣扎了好几个小时。在所有这些配置对我起作用之后:
events {
...
http {
...
server {
listen 80;
server_name localhost;
location / {
root /path/to/your/project/html;
index index.html index.htm;
include /etc/nginx/mime.types;
try_files $uri $uri/ /index.html;
}
}
}
}
我的路由器设置几乎和你一样。
如果安装vuejs eslint插件并将其配置为使用“强烈推荐”规则集,linter将告诉您更改以下代码: 进入这个 问题是,当您这样做时,您的
问题内容: 我有一个连接到的前端,并且在端用定义了路由。当我用来将它们定向到动态路线时,它们可以正常工作。但是当我直接使用浏览器地址栏访问按Enter的链接时,或者我刷新了。 404页面不存在 而且我知道那是因为发生了对服务器的直接调用,并且当我们在共享主机上进行操作时,没有必要操纵共享主机上的操作。 考虑过但不适合API的动态特性。请允许我提供解决此问题的任何方法吗? 问题答案: 检查一下:ht
我需要你的帮助。有一个Vue应用程序,我使用vuex商店和Vue路由器。问题是,我从API调用中获取存储数据,如果我从其他地方导航到页面,用户数据已经存储在存储中,并且在组件中,我可以使用getter接收到的数据。但是,如果我在create或mount方法中重新加载页面,则getter不包含任何数据。但如果在Vuex开发工具中查看,我可以看到fetchedd数据。如何修复此行为?
我正在使用React路由器与链接,以改变URL和导航通过应用程序。在阅读列表中,我使用以下代码导航用户阅读edit: 我定义了以下路由: 我怎样才能解决那个问题?
问题内容: 我使用ReactJs开发了有关PWA(渐进式Web应用程序)的PoC,以展示如何使用Browser API中的相机,地理位置,麦克风,光传感器等。 我已经为该Web应用程序中的每个功能创建了一条路由,并且在localhost中一切正常。但是,当我在 Azure Wep App Linux服务 上部署我的react应用的npm build版本时,它无法正常工作。我可以访问主页(index
我有一个使用vue创建的单页应用程序,导航链接都是使用标记完成的。导航中有几个项目我的老板想在导航中使用,但禁用了,这样人们就可以看到一些即将推出的功能。然而,我不知道如何完全禁用路由器链接! 不执行任何操作,不执行任何操作(我尝试将其发送到一个函数,看看这是否会阻止单击,但它只是调用函数并路由,尽管存在阻止),添加一个