Как подготовить этот унаследованный класс для импорта в приложение VueJs? - PullRequest
3 голосов
/ 12 марта 2019

У меня есть старый класс в моем старом приложении. Этот класс определен так:

/** @namespace MyClass */
"use strict";

var MyClass = (function () {
    var Constr = {};

    Constr.func1 = function () {...};
    ...
    Constr.funcN = function () {...};

    return Constr;

}());

В моем приложении я импортирую этот класс по старинке:

<head>
    <script src="./static/MyClass.js"></script>
    ...
</head>

Теперь я пробую фреймворк VueJS и мне это нравится. Чего я хочу добиться, так это импортировать мой старый унаследованный класс в мое новое приложение. Я не люблю импортировать его в index.html по-старому, но я хочу сделать это в моем пользовательском компоненте Vue. Итак, в моем TestComponent.vue я хочу иметь возможность сделать что-то вроде:

import MyClass from './static/MyClass.js' // or from './assets/MyClass.js' ?

Но я не уверен, как я могу сделать это правильно.

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Вам нужно будет экспортировать свой класс.

export default MyClass

Нужно сделать свое дело.Это должно быть добавлено в ваш скрипт.После этого вы можете просто импортировать его.Импортируемая переменная может иметь любое имя, оно не ограничено MyClass.

1 голос
/ 12 марта 2019

Так как вы пытаетесь import это, вы должны export класс из myClass.js. Нет необходимости в IIFE, потому что вы находитесь в области действия модуля, а не в глобальной области, поэтому не нужно беспокоиться о глобальном загрязнении:

// MyClass.js
export default const Constr = {};
Constr.func1 = function () {...};
Constr.funcN = function () {...};

Тем не менее, у вас есть просто простой объект со свойствами, а не класс, поэтому, вероятно, было бы лучше не называть его MyClass.

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