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

Я пытаюсь использовать веб-компилятор для переноса моих 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?

0 ответов

Другие вопросы по тегам