【问题标题】:Laravel Sail + Vue 3 best practiceLaravel Sail + Vue 3 最佳实践
【发布时间】:2023-02-02 02:00:00
【问题描述】:

我昨天创建了我的第一个 Laravel Sail,但我在使用 Vue 时遇到了一个小问题,因为在单独的文件夹中创建前端让我有些头疼。因为有两个不同的package.json,一个在项目根目录中,另一个在前端文件夹中。因此,每当我需要执行 npm run dev 时,我都必须使用 --prefix 来指向前端文件夹。 npx 也有同样的问题,我必须通过选择工作区来指向前端!!!

我绝对怀疑我的做法有问题。那么,您能否指导我使用 Laravel Sail + Laravel 后端 api + Vue 前端的最佳实践?

我创建项目结构的步骤:

  1. curl -s https://laravel.build/example-app | bash
  2. alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'添加到~/.bashrc
  3. 从项目的根执行 sail up
  4. sail npm init vite frontend
  5. cd ./frontend
  6. sail npm i ---> 错误,因为子文件夹中没有帆
  7. cd ..
  8. sail npm i --prefix ./frontend
  9. sail npm run dev --prefix ./frontend ---> 错误,因为它没有--host
  10. frontend/package.json修改为dev": "vite --host"
  11. sail npm run dev --prefix ./frontend
  12. sail npm install --prefix ./frontend/ -D tailwindcss postcss autoprefixer
  13. sail npx --prefix ./frontend/ tailwindcss init -p ---> 错误 npx 不接受 --prefix
  14. sail npx -w ./frontend/ tailwindcss init -p ---> 错误,没有配置工作区!
  15. cd frontend/
  16. ln -s ../vendor/laravel/sail/bin/sail sail
  17. ./sail npx tailwindcss init -p
  18. rm ./sail
  19. cd ..

    如您所见,调用--prefix 是非常蹩脚的解决方案,最愚蠢的步骤是 13 ... 18,因为我需要通过创建符号链接然后再次删除它来找到解决方法......真的很蹩脚!

    顺便说一句,在第 17 步中,尽管当前路径是 ./frontendnpx 在项目的根目录中生成了条目 package.json 而不是 frontend/package.json 所以我手动将它们从 package.json 移动到 frontend/package.json

【问题讨论】:

  • 是的,有一点不对。不要将前端应用程序放在后端应用程序中。这没有意义,他们有不同的 dep 集,唯一的共同点是前端 dist 应该在构建时复制到后端 public
  • 但是,如果我在 Laravel sail 应用程序中设置 frontend 文件夹,我将无法再调用 sail updocker-compose up 除非我手动修改由 Laravel sail 自动创建的 docker-compose.yml (我不喜欢朝这个方向走) )
  • 我懂了。我相信这个容器的设计方式很奇怪,不确定是否有处理它的好方法。通常你会在 Node 项目中避免这样的设置,这是不切实际的。我不确定为什么“sail”命令用于非 sail 的所有内容,即 Vue 项目。如果可能,应该是“npm i”等。无论如何,这是特定于容器的
  • 是的,正因为如此,我正试图与 Laravel 的人保持一致(Sail 项目)
  • Sail 使用任何 Laravel Sail 项目自动配置 Vite,因为已经有 package.json

标签: php laravel vue.js npm laravel-sail


【解决方案1】:

在根目录下调用即可

~/www/your-name-project sail npm --prefix ./frontend install 
~/www/your-name-project sail npm --prefix ./frontend run dev

【讨论】:

    猜你喜欢
    • 2021-07-03
    • 2022-09-28
    • 2021-06-19
    • 2018-11-30
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多