如何在网页上使用Laravel Mix的编译脚本?

问题描述 投票:0回答:1

我正在做一个项目, 我们正在升级Laravel的版本, 在这个过程中我们也在尝试使用 拉威尔混合. 我的主要问题是,我不明白如何在网页中使用Mix编译的脚本。

我一直在遵循 Laravel文档 在使用Mix的过程中,我根据页面顶部的文档加载编译后的Mix文件。

<script src="{{ mix('/js/manifest.js') }}"></script>
<script src="{{ mix('/js/vendor.js') }}"></script>
<script src="{{ mix('/js/app.js') }}"></script>

在我的网页顶部的文档中,我正在加载编译好的Mix文件。npm run dev (或 prod)命令运行得很好,但当我在浏览器中加载一个页面时就出现了问题。我使用的是 mix.extract() 函数来编译我们所有的Node.js包到我们的Node.js包中。vendor.js 文件中提到的。当我在浏览器中加载该页面时,任何软件包中的功能都不可用,而且每个软件包都会收到以下错误消息。

TypeError: $(...).xyz is not a function

我们在刀片文件本身和通过 Mix 运行的一些单独的 Javascript 文件中都有 Javascript。例如...

mix.js('resources/assets/js/public.js', 'public/js');

我已将此代码添加到我的 webpack.mix.js 其中允许 jQuery 在Javascript文件中,但没有将其用于刀片文件。而且其他的包也都不可用.

mix.autoload({
   jquery: [
      '$',
      'jQuery',
      'jquery',
      'window.$',
      'window.jQuery',
      'window.jquery'
   ]
});

Laravel自带这个文件, resources/assets/js/app.js, 这是我在Mix中运行的文件之一. 我试着使用各种组合的 importrequire() 中的文件,但到目前为止,我试过的所有方法都没有用,而且有时我的结果是重复的 vendor.js 这就有点违背了使用 mix.extract().

javascript node.js laravel webpack laravel-mix
1个回答
0
投票

这个 mix.js('resources/assets/js/public.js', 'public/js'); 将创建一个新文件,名为 <script src="{{ mix('/js/app.js') }}"></script> 指的是 app.js

而不是使用 <script src="{{ mix('/js/public.js') }}"></script>

© www.soinside.com 2019 - 2024. All rights reserved.