因此,当我在测试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>
如果你们可以想到可能是原因的其他任何地方,请告诉我,我将使用代码片段进行更新.
对于缺乏其他信息感到抱歉,我已经蠢蠢欲动了,老实说,对于可能出现的问题或者我如何解决这个问题,我真的很难过.
解决方法
而我是愚蠢的.没有正确阅读文档.
主要是说:
To avoid JavaScript errors,be sure to load these files in the proper order:
<script src="/js/manifest.js"></script> <script src="/js/vendor.js"></script> <script src="/js/app.js"></script>
我添加了manifest.js并重新排序,现在一切正常.