laravel - Vue.component() 语句中的路径如何工作?
问题描述
在春季初次尝试之后,我正在尝试正确学习 Laravel 和 Vue。不过,我对两者都还很陌生。
我在 Windows 10 中使用 Laravel 8.x 和 Vue 2.6.12。我正在观看有关将 Vue 与 Laravel 结合起来的视频。该视频适用于旧版本的 Laravel,可能是 5.5,也可能是稍旧的 Vue,所以这很可能是我的问题的本质。这是视频的链接。我大约在 8:00 分钟。
我遇到的问题是,当我尝试执行我的代码时,Laravel 看不到我的文章组件。
我的 app.js 文件位于 /resources/assets/js/app.js。这是代码:
require('./bootstrap');
window.Vue = required('vue');
Vue.component ('Articles', require('./components/Articles.vue'));
const app = new Vue({
el: '#app'
});
包含脚本标记的文件位于 /resources/views/welcome.blade.php。这是代码: <!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Larticles App</title>
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
</head>
<body>
<div id="app">
<div class="container">
<Articles></Articles>
</div>
</div>
<script src="{{ asset('js/app.js') }}">console.log("Made it to here!");</script>
</body>
</html>
文章组件位于 /resources/assets/js/components/Articles.vue。这是代码:
<template>
<div>
<h2>Articles</h2>
</div>
</template>
<script>
export default {
name: "Articles",
beforeCreate() {
console.log("Articles - beforeCreate()");
},
created() {
console.log("Articles - created()");
},
beforeMount() {
console.log("Articles - beforeMount()");
},
mounted() {
console.log("Articles - mounted");
}
}
</script>
<style lang="scss" scoped>
#app {
background-color: gold;
color: blue;
}
</style>
我需要改变什么才能使这项工作?我认为问题在于 app.js 中 Vue.component 语句的 require 部分,但我已经尝试了所有我能想到的变体,但都没有成功。我想不出还有什么可以尝试的!我在 Vue 手册中找不到关于 Vue 或 Laravel 中此语句的特殊语法的任何内容。
我应该提一些事情。作为故障排除的一部分,我与他在视频中所做的略有不同。我在 Vue.component 语句的第一个参数中将 Articles 大写,并且在welcome.blade.php 文件的容器 div 中也将其大写。(最初,我在每个地方都写成小写,但它也不是那样工作的。)我还在组件生命周期挂钩和脚本标记中添加了几个 console.log 语句。不过,它们绝对没有出现在控制台中。
另外,出于某种原因,我的 IDE VS Code 坚持在welcome.blade.php 中显示为红色。红色总是让我想到错误,但没有任何错误信息。如果我将这些标签写为(并相应地更改 app.js),它们会保持红色,所以我认为这不是大小写问题。
我还应该提到,检查员显示 as 。它不应该准确地显示我的welcome.blade.php 文件中的内容吗?
解决方案
导入组件时使用小写字母
<articles></articles>
推荐阅读
- ios - 错误 - 电子邮件地址格式错误。Xcode Swift Firebase
- javascript - 如何用material-ui设置时钟(timePicker)的颜色?
- c# - 在 xamarin 中使用 Exoplayer 的自定义渲染器进行导航
- scala - 从顶部/底部行列值复制丢失的数据
- c# - 使用相互 SSL:Mono、C# 和自签名证书
- java - 如何设置独立 Spark 配置以在本地运行 MLlib spark 示例?
- php - 计算后输出货币(Sprintf)
- css - 我无法修复
- unix - 在 unix/aix 中重载文件
- python - 将dict存储到pandas Dataframe中时出现问题