Laravel Uncaught ReferenceError webpackJsonp is not defined at app.js:1

Posted

技术标签:

【中文标题】Laravel Uncaught ReferenceError webpackJsonp is not defined at app.js:1【英文标题】: 【发布时间】:2017-09-04 09:43:50 【问题描述】:

所以当我测试我的 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(为了便于阅读,删除了默认的 cmets)

require('./bootstrap');
Vue.component('example', require('./components/Example.vue'));
const app = new Vue(
    el: '#app'
);

我的assets/js/bootstrap.js(为了便于阅读,删除了默认的 cmets)

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>

如果你们能想到其他任何可能的原因,请告诉我,我将使用代码 sn-ps 进行更新。

很抱歉缺少其他信息,我已经四处闲逛,老实说,我完全不知道可能出了什么问题或如何解决它。

【问题讨论】:

【参考方案1】:

我很愚蠢。没有正确阅读文档。

主要是说的那一点:

为避免 javascript 错误,请确保以正确的顺序加载这些文件:

<script src="/js/manifest.js"></script>
<script src="/js/vendor.js"></script>
<script src="/js/app.js"></script>

我添加了 manifest.js 并重新排序,现在一切正常。

【讨论】:

大声笑,我在测试 mix.extract 时总是忘记注释/取消注释清单和供应商脚本

以上是关于Laravel Uncaught ReferenceError webpackJsonp is not defined at app.js:1的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.1 和 Vue.js - 21678 Uncaught (in promise) TypeError: Cannot read property 'data' of null

Uncaught (in promise) TypeError: Cannot read properties of null (reading 'fingerprint') Laravel Live

Laravel Mix Uncaught ReferenceError: $ is not defined

Uncaught ReferenceError: require is not defined at require('./bootstrap') Laravel Mix

Laravel mix Uncaught ReferenceError: jQuery is not defined

Laravel Uncaught ReferenceError webpackJsonp is not defined at app.js:1