【问题标题】:Laravel 5.5 - Required jQuery/Javascript plugins can't be foundLaravel 5.5 - 找不到所需的 jQuery/Javascript 插件
【发布时间】:2018-05-14 23:38:50
【问题描述】:

我正在使用require 为我的项目包含 Javascript 插件,但由于某种原因,浏览器无法找到这些插件。启动npm run dev 将编译我需要的所有脚本(脚本也位于编译文件中),但是在浏览器中运行项目时,它根本不起作用。

[Vue 警告]:挂载钩子错误:“TypeError: $(...).datepicker is 不是函数”

这是我的文件:

app.js

require('./bootstrap');

window.Vue = require('vue');

Vue.component('example-component', require('./components/ExampleComponent.vue'));

new Vue({
  el: '#app',
  mounted: function() {
      $( "#datepicker" ).datepicker();
  }
});

bootstrap.js

window._ = require('lodash');


try {
    window.$ = window.jQuery = require('jquery');
    require('bootstrap');

    window.datepicker = require('jquery-datepicker');

} catch (e) {}


window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

let token = document.head.querySelector('meta[name="csrf-token"]');

if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}

webpack.mix.js

let mix = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js')
      .sass('resources/assets/sass/app.scss', 'public/css');

谁能帮帮我?

【问题讨论】:

    标签: javascript node.js laravel webpack laravel-mix


    【解决方案1】:

    按照这些说明,我自己终于找到了解决方案..

    https://github.com/JeffreyWay/laravel-mix/blob/master/docs/jquery-ui.md

    你必须在你的 app.js 中这样做

    import $ from 'jquery';
    window.$ = window.jQuery = $;
    
    import 'jquery-ui/ui/widgets/datepicker.js';
    

    现在您可以按照自己喜欢的方式调用库。

    我想这也应该适用于其他 JS 库..

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      相关资源
      最近更新 更多