我很困惑我该如何使用Vite。开发时没有问题,但当我想构建我的资产文件时,我不知道发生了什么。我已经习惯了 webpack 的时代,所有资源文件(.scss 和 .js)都被捆绑起来并输出为 app.css 和 app.js。我不确定我应该如何配置 Vite 来实现类似的目标,或者我是否应该尝试这样做。
我一直在尝试写如下内容:
@if(app()->environment('local'))
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
@else
<link rel="stylesheet" href="/assets/stylesheet.css">
<script src="/assets/app.js"></script>
@endif
我的思考过程基本上是当应用程序不在本地时,它使用构建的资产文件,并且在开发过程中它使用 @vite[ ... ] 语句。
我感觉我的方法不是 Vite 应该使用的方式,但我完全不知道应该如何使用它。有人可以教我如何使用 Vite 吗?
我不确定您为什么在生产时使用另一种方法。 文档非常清楚:
配置好 Vite 入口点后,您只需在添加到应用程序根模板的
的@vite()
Blade 指令中引用它们即可。<head>
指令将自动检测Vite开发服务器并注入Vite客户端以启用模块热替换。在构建模式下,该指令将加载您已编译和版本化的资源,包括任何导入的 CSS。@vite
所以,你必须始终使用:
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
需要时会自动输出
<link>
和<script>
。您无需做任何其他事情。
我认为您想将Vite资产发布到服务器,您需要运行以下命令:
放入头部:
@vite(['resources/css/app.css', 'resources/js/app.js'])
运行命令:
npm run build
它将把资产构建到 public/assets/build 文件夹中,文件名如 app.xxxxxx.css 或 app.xxxxxx.js。
如果您使用 git 发布代码,则忽略文件中的“/public/build”和“/public/hot”。