Я пытаюсь узнать больше о Vue.js, но борюсь с проблемой. Я пытаюсь использовать файлы .vue, чтобы внутри этого файла был код моего шаблона. Мой html-код выглядит так.
<!DOCTYPE html>
<html lang = "en" dir = "ltr">
<head>
<meta charset = "utf-8">
<title></title>
<script src = "vue.js"></script>
<script src = "require.js"></script>
</head>
<body>
<div id = "app">
<navbar-component></navbar-component>
</div>
<script src = "./main.js"></script>
</body>
</html>
А мой рабочий код JavaScript / Vue.js выглядит так.
Vue.component('navbar-component', {
template: '<h3>Title</h3>'
});
const demo = new Vue({
el: '#app',
mounted() {
console.info('mounted');
}
});
Проблема в том, когда я меняю его на использование этого JavaScript. Когда я пытаюсь загрузить файл из своего файла test.vue, он больше не работает, и я получаю эту ошибку.
require.js:168 Uncaught Error: Module name "src/components/test.vue" has not been loaded yet for context: _. Use require([])
https://requirejs.org/docs/errors.html#notloaded
at makeError (require.js:168)
at Object.localRequire [as require] (require.js:1436)
at requirejs (require.js:1797)
at main.js:1
Мой последний тестовый код выглядел так:
main.js
Vue.component('navbar-component', require('./src/components/test.vue'));
const demo = new Vue({
el: '#app',
mounted() {
console.info('mounted');
}
});
SRC / компоненты / test.vue
<template>
<div class = "helloworld">
<h1>Hello world</h1>
</div>
</template>
<script>
</script>
Хм, я ожидаю, что он будет легко закодирован без node.js / npm, и может сделать это очень просто. Я не могу найти ничего о requirejs-vue и загрузчике, у вас есть руководство, на которое вы можете ссылаться?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не совсем знаком с RequireJS, но полагаю, вам понадобится какой-нибудь плагин, чтобы он работал с файлами
.vue(например,requirejs-vue). Vue обычно не используется с RequireJS AFAIK, обычно файлы.vueпредставляют собой предварительно скомпилированный как часть сборки веб-пакета (или аналогичной) с использованиемvue-loader.