Поиск…


Hello World в браузере с SystemJS

Установите systemjs и plugin-typescript

npm install systemjs
npm install plugin-typescript

ПРИМЕЧАНИЕ. В этом случае будет установлен компилятор typescript 2.0.0, который еще не выпущен.

Для TypeScript 1.8 вам необходимо использовать plugin-typescript 4.0.16

Создать файл hello.ts

export function greeter(person: String) {
    return 'Hello, ' + person;
}

Создать файл hello.html

<!doctype html>
<html>
<head>
    <title>Hello World in TypeScript</title>
    <script src="node_modules/systemjs/dist/system.src.js"></script>

    <script src="config.js"></script>

    <script>
        window.addEventListener('load', function() {
            System.import('./hello.ts').then(function(hello) {
                document.body.innerHTML = hello.greeter('World');
            });
        });
    </script>


</head>
<body>
</body>
</html>

Создать конфигурационный файл config.js - SystemJS

System.config({
    packages: {
        "plugin-typescript": {
            "main": "plugin.js"
        },
        "typescript": {
            "main": "lib/typescript.js",
            "meta": {
                "lib/typescript.js": {
                    "exports": "ts"
                }
            }
        }
    },
    map: {
        "plugin-typescript": "node_modules/plugin-typescript/lib/",
        /* NOTE: this is for npm 3 (node 6) */
        /* for npm 2, typescript path will be */
        /* node_modules/plugin-typescript/node_modules/typescript */
        "typescript": "node_modules/typescript/"
    },
    transpiler: "plugin-typescript",
    meta: {
        "./hello.ts": {
            format: "esm",
            loader: "plugin-typescript"
        }
    },
    typescriptOptions: {
        typeCheck: 'strict'
    }
});

ПРИМЕЧАНИЕ. Если вы не хотите проверять тип, удалите loader: "plugin-typescript" и typescriptOptions из config.js . Также обратите внимание, что он никогда не будет проверять код javascript, в частности код в <script> в примере html.

Попробуй это

npm install live-server
./node_modules/.bin/live-server --open=hello.html

Построить его для производства

npm install systemjs-builder

Создайте файл build.js :

var Builder = require('systemjs-builder');
var builder = new Builder();
builder.loadConfig('./config.js').then(function() {
    builder.bundle('./hello.ts', './hello.js', {minify: true});
});

Создайте hello.js с hello.ts

node build.js

Использовать его в производстве

Просто загрузите hello.js с тегом скрипта перед первым использованием

hello-production.html файл:

<!doctype html>
<html>
<head>
    <title>Hello World in TypeScript</title>
    <script src="node_modules/systemjs/dist/system.src.js"></script>

    <script src="config.js"></script>
    <script src="hello.js"></script>
    <script>
        window.addEventListener('load', function() {
            System.import('./hello.ts').then(function(hello) {
                document.body.innerHTML = hello.greeter('World');
            });
        });
    </script>


</head>
<body>
</body>
</html>


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow