Используйте vuelidate из node_modules в шаблоне django - PullRequest
0 голосов
/ 27 сентября 2019

Я использовал 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)

Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...