Я пытаюсь изучить Typcript & хочу использовать загрузчики модулей (system.js), но я вижу ошибку, которую я просто не могу решить. Без сомнения, я не настроил что-то правильно. У меня есть 2 файла, один из которых является модулем, который я хочу импортировать. Я попытался импортировать переменные &, но ошибка всегда есть. Если кто-нибудь может дать мне указатель относительно того, где я могу ошибаться, я был бы очень благодарен.Typcript beginner - Использование загрузчика модуля system.js с проблемой машинописного текста
У меня есть 2 файла вместе с index.html & tsconfig.json файл
index.html
<html>
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.20.7/system.js"></script>
<script>
System.import('main').then(function(m) {console.log(m)});
</script>
</head>
<body>
</body>
</html>
main.ts
import {anotherName} from './test';
let name: string = "bob";
console.log(name);
console.log(anotherName);
test.ts
export let anotherName: string = "Jeff";
main.js
System.register(["./test"], function (exports_1, context_1) {
"use strict";
var __moduleName = context_1 && context_1.id;
var test_1, name;
return {
setters: [
function (test_1_1) {
test_1 = test_1_1;
}
],
execute: function() {
name = "bob";
console.log(name);
console.log(test_1.anotherName);
}
};
});
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": false,
"noImplicitAny": false,
"noImplicitUseStrict": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts"
],
"compileOnSave": true,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Это верно только в том случае, если вы * не * переписываете машинопись непосредственно с помощью SystemJS. Даже если вы не являетесь конфигурацией пакета, предпочтительнее установить 'defaultJSExtensions'. То есть вы должны настроить пакет и использовать параметр defaultExtension на уровне пакета со значением '' ts ''или' 'js" 'в зависимости от того, переписываете ли вы с SystemJS или нет. –