因此,当我在测试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并重新排序,现在一切正常.