Я использовал Vue для использования API, но никогда в шаблонах Django.Я хотел бы использовать пакет Vuelidate
для проверки формы, но у меня возникли некоторые проблемы при импорте validationMixin
, как указано в их документации: import { validationMixin } from 'vuelidate'
.
I'mв настоящее время импортирую Vue.js из CDN.
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
Я добавляю путь vuelidate к моим статическим файлам.
# settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'staticfiles')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'node_modules', 'vuelidate', 'dist'),
]
Когда загружается мой шаблон Django, я получаю SyntaxError: import declarations may only appear at top level of a module
(Firefox) и Uncaught SyntaxError: Unexpected token {
(Chrome)
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="module" src="{% static 'vuelidate.min.js' %}"></script>
<script>
import { validationMixin } from 'vuelidate'
const app = new Vue({
delimiters: ['[[', ']]'],
el: '#app',
data: {
test: 'Hello'
}
})
</script>
Я добавил type="module"
к тегу сценария, но это приводит к TypeError: Error resolving module specifier: vuelidate
(Firefox) и Uncaught TypeError: Failed to resolve module specifier "vuelidate". Relative references must start with either "/", "./", or "../".
(Chrome)
Что мне здесь не хватает?