【发布时间】:2019-06-26 19:03:51
【问题描述】:
您好,我有 Laravel 版本 5.7.24。我在将 app.js 导入刀片模板时遇到问题。
我在resources/js/app.js 中有app.js,这个文件在其他位置:public/js/app.js
在welcome.blade.php 我添加:
<body>
<div id="app">
Hello
<example-component></example-component>
<articles></articles>
</div>
<script src="{{ asset('js/app.js') }}"></script>
</body>
我在resources/js/components/articles.vue创建了文章组件:
<template>
<div>
Hello
</div>
</template>
<script>
export default {
name: "Articles"
}
</script>
现在 Laravel 返回错误:
未知的自定义元素: - 您是否注册了组件 正确吗?对于递归组件,请确保提供“名称” 选项。
因为asset指的是public/js/app.js
我在这个article 中看到,Laravel 删除了资产文件夹。所以我添加了 assets 文件夹,我的文件结构如下所示:
但 Laravel 仍然引用文件 public/js/app.js。
如何将 srcipt (resources/js/app.js) 导入到我的welcome.blade.php 文件中?
编辑:
我的resources/js/app.js 文件:
require('./bootstrap');
window.Vue = require('vue');
Vue.component('articles', require('./components/Articles.vue').default);
const app = new Vue({
el: '#app'
});
当我从(welcome.blade.php)更改脚本时:
<script src="{{ asset('js/app.js') }}"></script>
到
<script src="{{ asset('assets/js/app.js') }}"></script>
我有错误:GET http://127.0.0.1:8000/assets/js/app.js net::ERR_ABORTED 404(未找到)
【问题讨论】:
-
您是在
app.js中导入该组件吗?请分享文件resources/js/app.js -
@BoussadjraBrahim 是的,我编辑了我的查询
-
public 文件夹中的 app.js 是您应该在刀片模板中使用的编译代码,您可以从
resources/aj/app.js使用npm run dev或npm run watch生成它 -
没问题。
您在代码中使用但未创建此组件可能有问题 -
@BoussadjraBrahim 我使用
npm run watch。所以我应该从public文件夹导入welcome.blade.php脚本?