本文介绍了如何在 vue 和 Laravel 中集成实现 js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图要求在 Vue 和 Laravel 中实现

I tried to require materialize in Vue and Laravel

bootstrap.js 我有

window.Materialize = require('materialize-css');

App.vue 组件中我有

mounted(){
  Materialize.toast('I am a toast!', 4000)
}

并收到

未捕获的引用错误:未定义物化"

留言.

推荐答案

要么删除带有 materialize js 的脚本标记,要么确保在需要实现之前加载了 jquery.我想你有一个 browserify 设置,如果你这样做,你可以做这样的事情:

Either drop a script tag with materialize js or, make sure jquery is loaded before requiring materialize.I suppose you have a browserify setup and if you do you can do something like that:

require('jquery')(window);
require('materialize-css')(window);

或者类似的东西:

global.jQuery = require('jquery')
global.Materialize = require('materialize-css')

或者全局导入 jQuery,然后简单地 var Materialize=require('materialize-css') 并使用变量代替.

Or import globally jQuery only then simply var Materialize=require('materialize-css') and use the variabile instead.

对于 webpack 设置,为您通过 npm 安装并全局需要的东西添加一个插件:

For webpack setups add a plugin for the stuff you have installed via npm and need globally:

  plugins:[
   new webpack.ProvidePlugin({
   $: "jquery",
   jQuery:'jquery',
   jquery:'jquery'
 }),
],

这篇关于如何在 vue 和 Laravel 中集成实现 js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-03 14:51