Я просто пытался создать проект TS + SystemJS для проверки концепции с минимально возможной настройкой - без «стартового набора Angular2» и тому подобного. Я потратил час на гугление и настройку этой настройки, но она все еще не работает.
У меня есть следующая установка:
/src/
- model.ts
- bootstrap.ts
/dist/
tsconfig.json
system.config.js
index.html
Мой tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"sourceMap": true,
"removeComments": false,
"outDir": "./dist/"
},
"filesGlob": [
"./src/**/*.ts"
],
"compileOnSave": true
}
Моя конфигурация SystemJS
System.config({
paths: {
// paths serve as alias
'npm:': 'node_modules/'
},
map: {
testapp: './src'
},
baseURL: './src',
packages: {
testapp: {
format: 'register',
defaultExtension: 'js'
}
},
});
Мой index.html
<script src="/node_modules/systemjs/dist/system-polyfills.js"></script>
<script src="/node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="systemjs.config.js"></script>
<script>
System.import('bootstrap.ts')
.then(function(app) {
console.log('app bootstrap success!');
}, console.error.bind(console));
</script>
В итоге у меня следующая ошибка в консоли:
system.src.js:1051 GET http://0.0.0.0:8080/src/bootstrap.ts.js 404 (Not Found)fetchTextFromURL @ system.src.js:1051....
Error: (SystemJS) XHR error (404 Not Found) loading
Я запускаю tsc -w
на одной вкладке терминала и простой https-сервер на другой.
По-видимому, SystemJS хочет использовать файлы с расширением .ts.js, в то время как tsc генерирует .js и исходные карты, но НЕ .ts.js.
Мне не хватает webpack
или gulp
для выполнения какой-то части работы? Я думал, что SystemJS и tsc
могут выполнять сборку и транспиляцию, но, видимо, в процессе сборки чего-то не хватает. Объяснение по настройке SystemJS, а не исправление ошибки, также было бы очень полезно.
System.import('bootstrap.ts')
, а неSystem.import('bootstrap.js')
? - person Nitzan Tomer   schedule 01.11.2016