Nuxt 路由无法在构建时创建子路由

时间:2021-01-21 18:16:45

标签: nginx npm nuxt.js

要显示产品,我想对链接使用此结构:

/collections/:slug/:id

到目前为止,我已经创建了这个文件夹结构:

 collections/
     _category/
        _id.vue
   _slug.vue
   index.vue

_slug.vue 和 index.vue 位于 collections 文件夹中。

在本地一切正常,但是当我让 npm run dist 并推送到 live 时,尝试访问时:

/collections/_category or /collections/_category/_id

没有找到。

我应该进行哪些更改才能使其正常工作?

还有一件事要提到的是,当从主页访问产品时,一切正常并且产品显示,但是当我尝试刷新该页面时,我收到 404 notfound,ngnix。会不会是 ngnix 的问题? Nginx 配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/{link_to_the_project}/dist;

    server_name {mydomainname}.ro;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
    }

    location ~ /\.ht {
            deny all;
    }
}

1 个答案:

答案 0 :(得分:0)

在我让它工作之后,我什至不知道它之前是如何工作的......

它对我有用的方式:

提交并将项目中的所有文件推送到服务器。通过 ssh 连接到服务器并在服务器上运行:npm install

安装 npm 后,我将 nginx 配置修改为:

 server {
    listen 80;
    server_name {mydomain}.ro;

    location / {
            proxy_pass http://127.0.0.1:3000;//run `npm run start` in project for ip
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }
 }

安装pm2:

 npm install pm2 -g

然后运行:

 pm2 start npm -- start

现在一切正常。