【发布时间】:2017-07-17 11:58:03
【问题描述】:
我将 Laravel 5.4 与 Node.js 6 和 Vue.js 2 一起使用。
在resources/assets/js/app.js 我有:
require('./bootstrap');
window.Vue = require('vue');
Vue.use(require('vue-resource'));
在webpack.mix.js 我有:
mix.combine([
'resources/assets/js/app.js',
'resources/assets/js/enhanced.js',
'resources/assets/js/search.js'
], 'public/js/app.js')
.sass('resources/assets/sass/app.scss', 'public/css');
在resources/assets/js/enhanced.js 我有:
require('./app')
var Search = require('./components/Enhanced.vue');
const app = new Vue({
el: '#app_page_enhanced',
render: app_page_enhanced => app_page_enhanced(Page_Enhanced)
});
在resources/assets/js/search.js 我有:
require('./app')
var Search = require('./components/Search.vue');
new Vue({
el: '#app_search',
render: app_search => app_search(Search)
})
我在终端窗口中运行了npm run watch-poll。
但是,我在app.js 的第 8 行不断收到错误消息:
需要('./bootstrap');
当我注释掉该行时,该过程不会出现其他错误,但当我查看:public/js/app.js 时,不包括单独的 .js 文件。
我尝试从两个 .js 文件中删除:require('./app'),并且:
mix.combine([ ... ], 'public/js/')
...和:
mix.combine([ ... ], 'public/js/', 'public/js/app.js')
...但它没有任何区别。
值得一提的是,Vue 的代码在 app.js 文件中有效。
我是根据我搜集的资料拼凑起来的,因为我找不到官方指南。
更新
就核心问题而言,@tompec 帮助解决了它。
但是,我认为这可以解决我在运行 search page 和 featured results page 时遇到的大量错误,其中每个页面都在为两个页面执行 Vue 代码,从而导致错误。
【问题讨论】:
-
通常
bootstrap.js会导入你的应用程序所需的 jquery、lodash 和其他一些库。您确定它与app.js在同一目录中可用吗? -
@KiraSan。是的,在同一个地方。
标签: javascript node.js laravel-5 vuejs2