因此,当我测试Laravel 5.4网站时,我的浏览器控制台产生了以下错误:
Uncaught ReferenceError: webpackJsonp is not defined at app.js:1
现在,说实话,我几乎不知道webpack和相关,我只是按照说明编译资产,通常一切正常......
无论如何......我正在使用Laravel 5.4并且已经将bootstrap3替换为bootstrap4。否则一切都与默认的laravel设置一样。
我的webpack.mix.js
看起来像这样:
mix.js('resources/assets/js/app.js', 'public/js')
.extract(['vue','tether','bootstrap'])
.sass('resources/assets/sass/app.scss', 'public/css');
我的assets/js/app.js
(为了便于阅读,删除了默认评论)
require('./bootstrap');
Vue.component('example', require('./components/Example.vue'));
const app = new Vue({
el: '#app'
});
我的assets/js/bootstrap.js
(为了便于阅读,删除了默认评论)
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
require('bootstrap');
window.Vue = require('vue');
window.axios = require('axios');
window.axios.defaults.headers.common = {
'X-CSRF-TOKEN': window.Laravel.csrfToken,
'X-Requested-With': 'XMLHttpRequest'
};
我的主要布局刀片文件位于底部
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<script src="/js/app.js"></script>
<script src="/js/vendor.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.2.7/raphael.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
如果你们可以想到可能是原因的其他任何地方,请告诉我,我将使用代码片段进行更新。
对于缺少其他信息感到抱歉,我已经蠢蠢欲动了,而且我真的完全不知道可能出现的问题或者我可以解决的问题。
答案 0 :(得分:16)
我是傻瓜。没有正确阅读文档。
主要是说:
为避免JavaScript错误,请务必按正确的顺序加载这些文件:
<script src="/js/manifest.js"></script>
<script src="/js/vendor.js"></script>
<script src="/js/app.js"></script>
我添加了manifest.js并重新排序,现在一切正常。