Я использую 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" из консоли веб-страницы.
Может ли кто-нибудь помочь мне, пожалуйста, я посмотрел везде в Интернете, и я не могу найти решение?
Спасибо.