gpt4 book ai didi

javascript - 尝试使用来自 CDN 的 Vue.js 库,但出现未捕获语法错误 : Unexpected identifier

转载 作者:行者123 更新时间:2023-11-30 20:19:41 24 4
gpt4 key购买 nike

我在后端使用 Django,我想在前端使用 Vue.js 库。我将它们包含在 CDN 中。问题是脚本的第一行总是出现错误 Uncaught SyntaxError: Unexpected identifier。我怀疑这是因为导入,但我不知道如何使用该库。有任何想法吗?提前致谢。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">


<title>title</title>


<link rel="stylesheet" type="text/css" href="/static/fortykwords/style.css" />

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="https://unpkg.com/@johmun/vue-tags-input/dist/vue-tags-input.js"></script>

</head>
<body>


<ul class="sidebar-nav">
<p>sidebar</p>

<li><a href="/profile/">pepe14</a></li>
<li><a href="/accounts/logout/?next=/submit/">Logout</a></li>

</ul>

<template>
<div>
<vue-tags-input
v-model="tag"
:tags="tags"
@tags-changed="newTags => tags = newTags"
/>
</div>
</template>

<script>
import VueTagsInput from '@johmun/vue-tags-input';

export default {
components: {
VueTagsInput,
},
data() {
return {
tag: '',
tags: [],
};
},
};
</script>



<form action="" method="post">
<input type='hidden' name='csrfmiddlewaretoken' value='fEEj9YrFOkChjlhrZ7HPgDoiJNcnb0ILUrd143icwaZ58No1Ckl8tTr0p9TxRMi7' />
<table>
<tr><th><label for="id_title">Title:</label></th><td><input type="text" name="title" required id="id_title" maxlength="250" /></td></tr>
<tr><th><label for="id_body">Body:</label></th><td><textarea name="body" cols="40" required id="id_body" maxlength="40000" rows="10">
</textarea></td></tr>
<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" required id="id_tags" /><br /><span class="helptext">A comma-separated list of tags.</span></td></tr>
</table>
<input type="submit" value="Submit" />
</form>

</body>
</html>

最佳答案

由于您同时使用 Vue 和从 CDN 输入的 vue 标签,因此您不能依赖导入/导出。因此,首先您需要从代码中删除它们:

 import VueTagsInput from '@johmun/vue-tags-input';

导出默认值{}

对于 Vue 组件。

最重要的是,如果 vue 标签输入有效,您的 Vue 组件代码将无法正常工作:

<template>
<script>
<style>

来自 Vue 单文件组件的语法不能立即在浏览器中使用。此外,您没有从任何 Vue 实例导入/渲染组件,因此,即使组件和 vue 标签输入都有效,html 页面中也不会出现任何内容。

为了让这个东西工作,你需要两件事:

  • 声明一个 Vue 实例并将其挂载到带有 el 属性的 html 标记中。我为标签 ID 选择了 #element
  • 在该 HTML 中粘贴 vue 标签输入 html 代码。

以下修改后的代码片段可以正常工作:

        <title>title</title>


<link rel="stylesheet" type="text/css" href="/static/fortykwords/style.css" />

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="https://unpkg.com/@johmun/vue-tags-input/dist/vue-tags-input.js"></script>

</head>
<body>

<ul class="sidebar-nav">
<p>sidebar</p>

<li><a href="/profile/">pepe14</a></li>
<li><a href="/accounts/logout/?next=/submit/">Logout</a></li>

</ul>
<div id="element">
<vue-tags-input
v-model="tag"
:tags="tags"
@tags-changed="newTags => tags = newTags"
/>
</div>



<form action="" method="post">
<input type='hidden' name='csrfmiddlewaretoken' value='fEEj9YrFOkChjlhrZ7HPgDoiJNcnb0ILUrd143icwaZ58No1Ckl8tTr0p9TxRMi7' />
<table>
<tr><th><label for="id_title">Title:</label></th><td><input type="text" name="title" required id="id_title" maxlength="250" /></td></tr>
<tr><th><label for="id_body">Body:</label></th><td><textarea name="body" cols="40" required id="id_body" maxlength="40000" rows="10">
</textarea></td></tr>
<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" required id="id_tags" /><br /><span class="helptext">A comma-separated list of tags.</span></td></tr>
</table>
<input type="submit" value="Submit" />
</form>


<script>
new Vue({
el: '#element',
data: {
tag: '',
tags: [],
},

});
</script>
</body>
</html>

由于当您从 cdn 导入时,vue 标签输入会自动将其自身加载到 window 中,因此您无需在 Vue 实例中导入/引用该组件。

关于javascript - 尝试使用来自 CDN 的 Vue.js 库,但出现未捕获语法错误 : Unexpected identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51581765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com