cretueusebiu/laravel-nuxt

一个Laravel-Nuxt启动项目模板。

安装量: 6,229

依赖者: 0

建议者: 0

安全性: 0

星标: 1,149

关注者: 42

分支: 262

开放问题: 13

类型:项目

3.0.0 2020-11-28 16:27 UTC

This package is auto-updated.

Last update: 2024-09-08 23:29:02 UTC


README

Build Status Total Downloads Latest Stable Version

一个Laravel-Nuxt启动项目模板。

功能

  • Nuxt 2
  • Laravel 8
  • SPA 或 SSR
  • Socialite 集成
  • VueI18n + ESlint + Bootstrap 4 + Font Awesome 5
  • 登录、注册、邮箱验证和密码重置

安装

  • composer create-project --prefer-dist cretueusebiu/laravel-nuxt
  • 编辑 .env 并设置数据库连接详情
  • (通过 git clone 或下载安装时,运行 php artisan key:generatephp artisan jwt:secret
  • php artisan migrate
  • npm install

使用方法

开发

# start Laravel
php artisan serve

# start Nuxt
npm run dev

https://:3000 访问您的应用程序。

生产

npm run build

启用 SSR

  • 编辑 client/nuxt.config.js 并设置 ssr: true
  • 编辑 .env 以设置 APP_URL=http://api.example.comCLIENT_URL=http://example.com
  • 运行 npm run buildnpm run start

Nginx 代理

对于 Nginx,您可以通过以下 location 块添加代理

server {
    location / {
        proxy_pass http://http://127.0.0.1:3000;
        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;
    }
}

进程管理器

在生产环境中,您需要一个进程管理器以永久保持 Node 服务器运行

# install pm2 process manager
npm install -g pm2

# startup script
pm2 startup

# start process
pm2 start npm --name "laravel-nuxt" -- run start

# save process list
pm2 save

# list all processes
pm2 l

每次部署后都需要重新启动进程

pm2 restart laravel-nuxt 

请务必阅读 Nuxt 文档

Socialite

此项目以 GitHub 为示例,展示了 Laravel Socialite

要启用提供者,请创建一个新的 GitHub 应用程序,并使用 https://example.com/api/oauth/github/callback 作为授权回调 URL。

编辑 .env 并使用 GitHub 应用程序的密钥设置 GITHUB_CLIENT_IDGITHUB_CLIENT_SECRET

对于其他提供者,您可能需要在 config/services.php 中设置适当的密钥,并在 OAuthController.php 中设置重定向 URL。

邮箱验证

要启用邮箱验证,请确保您的 App\User 模型实现了 Illuminate\Contracts\Auth\MustVerifyEmail 协议。

注意事项

  • 此项目使用 router-module,因此您必须手动在 client/router.js 中添加路由。
  • 如果您想将此分为两个项目(客户端和服务器 API),请将 package.json 移入 client/ 并从脚本部分删除配置路径选项。同时,请确保在 client/.env 中添加环境变量。

更新日志

有关最近更改的更多信息,请参阅 更新日志