Настройка Systemjs и tsc - *.ts.js 404 (не найдено) Ошибка
Я просто пытался создать проверенный на практике проект 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, а не исправление ошибки также будет очень полезным.
1 ответ
Настройку можно исправить следующим образом:
1) как Nitzan Tomer - измените .ts на.js в блоке System.import
index.html: System.import('bootstrap.js')
2) (SystemJS) Требуется не определена ошибка исправлена в этом посте - измените tsconfig.json, чтобы иметь "систему" в качестве модулей
{
"compilerOptions": {
"module": "system",
"target": "es5",
//..
Вот демо-репозиторий, который я создал с этой настройкой: https://github.com/shershen08/systemjs-typescript-simple