Можно ли вообще переносить javascript с классами в отдельные файлы с помощью веб-компилятора? - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь использовать веб-компилятор для переноса моих Javascripts.Кажется, что это работает в некоторых отношениях, но я не могу заставить его работать, когда я помещаю классы в отдельные файлы и импортирую их.

То, что я хочу, и то, что я думаю, я должен получить, - это переданный файл, содержащий как класс, так и код, использующий его.Если я помещаю весь код в один и тот же файл, он работает, поэтому я полагаю, что это часть импорта, которую я делаю неправильно.

Допустим, я поместил это в app.js:

class Polygon {
    constructor(height, width) {
        this.height = height;
        this.width = width;
    }
    test() {
        alert("Hello World!");
    }
}

var x = new Polygon(40, 20);
x.test();

тогда я получаю переданный файл, который содержит много кода, но основная часть (я думаю) состоит в том, что мой класс фактически включен.Например, я ясно вижу свою функцию:

_createClass(Polygon, [{
            key: "test",
            value: function test() {
                alert("Hello World!");
            }
        }]);

И когда я запускаю ее в моем браузере, она показывает, что я предупрежден.Но, если я помещаю класс в отдельный файл и использую импорт, как это:

polygon.js:

class Polygon {
    constructor(height, width) {
        this.height = height;
        this.width = width;
    }
    test() {
        alert("Hello World!");
    }
}

И импортируем его в app.js, вот так:app.js:

import { Polygon } from './polygon'
var x = new Polygon(40, 20);
x.test();

Транслируемый файл не содержит мой класс или функцию и, следовательно, не работает, когда я запускаю код.

Ожидается ли это?И если так, есть ли способ сделать это на самом деле?Я знаю, что есть другие инструменты, такие как WbPack, но можно ли это решить с помощью WebCompiler?

...