问题描述
我试图要求在 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!