使用 laravel mix 包含 js 依赖项

Ste*_*rin 5 javascript jquery-ui webpack laravel-5.4 laravel-mix

我无法真正让我的 js 库工作,前段时间我决定为我使用的每个库都有一个单独的 js 文件(所以我的布局中包含一个 jquery.js 文件和一个 bootstrap.js 文件),一切工作得很好,直到我不得不将 jquery-ui 添加到这种混乱中,并收到此错误

Uncaught TypeError: $(...).slider is not a function
Run Code Online (Sandbox Code Playgroud)

直到我在同一个文件中加载 jquery 和 jquery-ui 。问题是我不想在包含 jquery 的所有地方都包含 jquery ui ,因为我只在 2 个页面中使用它。下面我将放置我的代码:

jquery-ui.slider.js:

require('jquery-ui/ui/widgets/slider');
require('./components/carFilter.js');
Run Code Online (Sandbox Code Playgroud)

应用程序.js:

window.$ = window.jQuery = require('jquery');
require('./bootstrap');
Run Code Online (Sandbox Code Playgroud)

webpack.mix.js:

mix.js('resources/assets/js/app.js', 'public/js')
mix.js('resources/assets/js/jquery-ui.slider.js', 'public/js');
Run Code Online (Sandbox Code Playgroud)

我正在使用以下 npm 模块:

  • 引导程序-sass
  • jQuery
  • jquery-ui

Ste*_*rin 5

我最终只是创建了一个需要 jquery、bootstrap.js 的文件,然后我在两个页面的特定文件中需要这个文件......其代码如下:

应用程序.js

window.$ = window.jQuery = require('jquery');
require('./bootstrap');
Run Code Online (Sandbox Code Playgroud)

页面.js

require('./app.js')
require('jquery-ui/ui/widgets/slider');
Run Code Online (Sandbox Code Playgroud)

看起来现在它正在工作,即使现在我必须在所有视图中包含一个js文件......问题它仍然开放,我希望有人有更好的想法。