作为Vue.js的新手,我已经定义并且据我所知使用了nav组件,但是npm run serve
不同意。
我得到的确切错误是:
ERROR Failed to compile with 1 errors 20:51:39
error in ./src/App.vue
Module Error (from ./node_modules/eslint-loader/index.js):
error: The "nav" component has been registered but not used (vue/no-unused-components) at src/App.vue:13:5:
11 | name: 'app',
12 | components: {
> 13 | nav,
| ^
14 | },
15 | };
16 | </script>
1 error found.
@ ./src/main.js 6:0-28 12:13-16
@ multi (webpack)-dev-server/client?http://192.168.233.240:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
文件布局
src
|
|__assets
| |__css
| |__ style.css
|
|__components
| |__nav.vue
|
|__App.vue
|
|__main.js
App.vue
<template>
<div id="app">
<nav />
</div>
</template>
<script>
import nav from '@/components/nav.vue';
export default {
name: 'app',
components: {
nav,
},
};
</script>
main.js我相信我所做的唯一更改就是添加了bootstrap.css
文件。
import Vue from 'vue';
import App from './App.vue';
import 'bootstrap/dist/css/bootstrap.css';
import './assets/css/style.css';
Vue.config.productionTip = false;
new Vue({
render: (h) => h(App)
}).$mount('#app');
当然还有模板本身。
<template>
<nav class="nav flex-column">
<a class="nav-link active" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
</template>
<script>
export default {
name: 'nav',
};
</script>
非常感谢您的帮助。请对您的答复保持友善,并在任何不满意的地方加上评论,否则不是很有帮助。
您收到此错误,因为您无法使用现有的html标记来命名组件。 Nav是html中的保留关键字。将nav
以外的组件重命名为app-nav-bar
之类的名称,请参见下文。
<template>
<div id="app">
<app-nav-bar />
</div>
</template>
<script>
import navBar from './components/nav.vue';
export default {
name: 'app',
components: {
'app-nav-bar': navBar
}
}
</script>
您不应该将其称为nav,因为已经有一个使用此名称的默认HTML组件(因为您在实际组件中使用了自己)。将您的组件重命名为Nav(是大写N),此后它应该可以正常工作。
导航]
<template> <nav class="nav flex-column"> <a class="nav-link active" href="#">Active</a> <a class="nav-link" href="#">Link</a> <a class="nav-link" href="#">Link</a> <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a> </nav> </template> export default { name: 'Nav', };
App.vue
<template>
<div id="app">
<Nav />
</div>
</template>
<script>
import Nav from '@/components/Nav';
export default {
name: 'app',
components: {
Nav,
},
};
</script>