VUE. JS - Как использовать класс, который находится за пределами vue. js в файле javascript из vue. js? - PullRequest
0 голосов
/ 31 января 2020

Я использую vue. js для создания веб-страницы и пытаюсь использовать класс (Authenticator), который находится за пределами моих двух файлов (Login. html и Login. js ) которые используют vue. js. Но мне не удается импортировать этот класс (Authenticator) в мой логин. js файл, чтобы использовать его функцию ...

Есть ли способ сделать это? Вот мой код:

Вход. html

<!DOCTYPE html>
<html>
<head>
</head>

<body class="background">
    <div class="border">

        <div id="app">
            [...]
        </div> <!--  End of app -->

    </div> <!--  End of border -->

    <script src="./vue.js"></script>
    <script src="./Login.js"></script>
    <script src="../controller/Authenticator.js"></script>

</body>

</html>

Вход. js

var app = new Vue({
    el: '#app',
    data: {
        username: null,
        password: null,
        activeUsers: []
    },

    methods: {
        verifyLogin: function () {

            // Verify if fields have been filled
            if (null === this.username || null === this.password) {

                window.alert("Error, please fill out the form correctly!");

            } else {
                // If fields are filled, verify the authentication

                var authenticator = new Authenticator(this.username);    
                var authenticated = authenticator.authenticateUser(this.username, this.password);

                [...]

                } else if (null === authenticated) {
                    // Error, if authentication failed
                    window.alert("Wrong password, please try again!")
                }
            }
        }
    }
});

Аутентификатор. js

const MongoClient = require('mongodb').MongoClient;
var url = "mongodb://192.168.99.100:27017/UserDB";
const bcrypt = require('bcrypt'); // Hash algorithm
const saltRounds = 10;

export default class Authenticator {
    constructor(iNewUserName) {
        this.mActiveUserNames.push(iNewUserName);
    }

    async authenticateUser(iUserName, iPassword) {
        [...]
    }
}

Я получаю ошибку "Uncaught SyntaxError: Неожиданный токен" экспорт "" в консоли веб-страницы. Кроме того, я попытался изменить метод экспорта, выполнив:

module.exports = Authenticator;

Но затем я получаю ошибку "Uncaught ReferenceError: require не определен в Authenticator. js: 2" из консоли веб-страницы.

Может ли кто-нибудь помочь мне, пожалуйста, я посмотрел везде в Интернете, и я не могу найти решение?

Спасибо.

...