#javascript #vue.js #vuejs3
#язык JavaScript #vue.js #vuejs3
Вопрос:
Я пытаюсь распознать этот компонент заголовка, но это просто не так. Я пытался испортить настройку eslint на строгое значение и безрезультатно возился со своим синтаксисом. Я не понимаю, это должно быть так просто. Любая помощь будет признательна.
Приложение.vue
lt;templategt; lt;div class="container"gt; lt;header /gt; lt;/divgt; lt;/templategt; lt;scriptgt; import header from './components/header' export default { name: 'App', components: { header, } } lt;/scriptgt; lt;stylegt; lt;/stylegt;
main.js
import { createApp } from 'vue' import App from './App.vue' createApp(App).mount('#app')
index.html
lt;!DOCTYPE htmlgt; lt;html lang=""gt; lt;headgt; lt;meta charset="utf-8"gt; lt;meta http-equiv="X-UA-Compatible" content="IE=edge"gt; lt;meta name="viewport" content="width=device-width,initial-scale=1.0"gt; lt;link rel="icon" href="lt;%= BASE_URL %gt;favicon.ico"gt; lt;titlegt;lt;%= htmlWebpackPlugin.options.title %gt;lt;/titlegt; lt;/headgt; lt;bodygt; lt;noscriptgt; lt;stronggt;We're sorry but lt;%= htmlWebpackPlugin.options.title %gt; doesn't work properly without JavaScript enabled. Please enable it to continue.lt;/stronggt; lt;/noscriptgt; lt;div id="app"gt; lt;/divgt; lt;!-- built files will be auto injected --gt; lt;/bodygt; lt;/htmlgt;
заголовок.vue
lt;templategt; lt;headergt; lt;h1gt;Component headerlt;/h1gt; lt;/headergt; lt;/templategt; lt;scriptgt; export default { name: 'header', }; lt;/scriptgt; lt;stylegt; header { display: flex; } lt;/stylegt;
Любая помощь была бы потрясающей. Спасибо.
Комментарии:
1. Я думаю
main.js
, что не импортируется вindex.html
США .2. Эй, импорт этого в метку головы сработал! Должен ли он быть импортирован в заголовок? Поскольку ошибка теперь устранена, но содержимое заголовка по-прежнему не отображается, однако стиль заголовка теперь отображается (атрибут flex).
3. см. Ответ ниже …
Ответ №1:
Потребности main.js
, которые необходимо импортировать в index.html
:
lt;bodygt; lt;div id="app"gt;lt;/divgt; lt;script type="module" src="/src/js/main.js"gt;lt;/scriptgt; lt;/bodygt;
(используя правильный путь)
Лучше переименовать компонент заголовка в другое слово, потому lt;headergt;
что он используется в качестве стандартного имени тега в html
Комментарии:
1. Эта ошибка показала: Не удалось загрузить сценарий модуля: Ожидался сценарий модуля JavaScript, но сервер ответил типом MIME «текст/html». Строгая проверка типа MIME применяется для сценариев модулей в соответствии со спецификацией HTML.
2. Вы используете
webpack
илиvite
в качестве упаковщика? Вы не можете размещать компоненты Vue непосредственно на сервере …3. Он, очевидно, использует Webpack (
htmlWebpackPlugin
в HTML). Так что никаких измененийindex.html
не требуется. Проблема действительно в названии компонента —[Vue warn]: Do not use built-in or reserved HTML elements as component id: header
4. Вот и все! большое вам спасибо! Я не получил этого предупреждения ву.
5. Я понимаю, спасибо. Проглядел плагин WebPack…