Я рассматривал этот амбициозный проект https://github.com/nippur72/RiotTS, который переместил riotjs к riot-ts. Автор использовал Bower, и я пытаюсь заставить его работать с помощью jspm.
riot-ts не существует в списке репозиториев jspm, поэтому я импортировал с помощью jspm install npm:riot-ts
пакет.json:
{
"jspm": {
"directories": {
"baseURL": "public/assets"
},
"dependencies": {
"riot-ts": "npm:riot-ts@^1.0.14"
},
"devDependencies": {
"babel": "npm:babel-core@^5.8.24",
"babel-runtime": "npm:babel-runtime@^5.8.24",
"core-js": "npm:core-js@^1.1.4"
}
},
"devDependencies": {
"elixir-jasmine": "0.0.4",
"gulp": "^3.9.1",
"jspm": "^0.16.35",
"laravel-elixir": "^6.0.0-2",
"laravel-elixir-browsersync": "^0.1.5",
"ws-laravel-elixir-typescript": "git+https://github.com/we-studio/laravel-elixir-typescript.git"
},
"dependencies": {
"bootstrap": "^4.0.0-alpha.2"
}
}
Конфигурация SystemJS (некоторые файлы для краткости опущены):
System.config({
defaultJSExtensions: true,
transpiler: "babel",
babelOptions: {
"optional": [
"runtime",
"optimisation.modules.system"
]
},
paths: {
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
map: {
"babel": "npm:[email protected]",
"babel-runtime": "npm:[email protected]",
"core-js": "npm:[email protected]",
"riot-ts": "npm:[email protected]",
"npm:[email protected]": {
"chalk": "npm:[email protected]",
"chokidar": "npm:[email protected]",
"cluster": "github:jspm/[email protected]",
"co": "npm:[email protected]",
"optionator": "npm:[email protected]",
"path": "github:jspm/[email protected]",
"process": "github:jspm/[email protected]",
"riot-compiler": "npm:[email protected]",
"rollup": "npm:[email protected]",
"shelljs": "npm:[email protected]",
"systemjs-json": "github:systemjs/[email protected]"
},
"npm:[email protected]": {
"buffer": "github:jspm/[email protected]",
"fs": "github:jspm/[email protected]",
"path": "github:jspm/[email protected]",
"process": "github:jspm/[email protected]"
},
"npm:[email protected]": {
"riot-observable": "npm:[email protected]"
},
"npm:[email protected]": {
"process": "github:jspm/[email protected]"
},
"npm:[email protected]": {
"riot": "npm:[email protected]"
},
"npm:[email protected]": {
"fs": "github:jspm/[email protected]",
"path": "github:jspm/[email protected]",
"process": "github:jspm/[email protected]",
"riot-cli": "npm:[email protected]",
"riot-compiler": "npm:[email protected]",
"riot-observable": "npm:[email protected]",
"riot-route": "npm:[email protected]",
"riot-tmpl": "npm:[email protected]",
"simple-dom": "npm:[email protected]",
"simple-html-tokenizer": "npm:[email protected]"
},
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"github:jspm/[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"crypto": "github:jspm/[email protected]",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "...",
"npm:[email protected]": "..."
}
});
Даже в самой простой настройке TSC жалуется, что не может найти Riot
tsc app.ts --module AMD
Ошибка от глотка
fullFilename: 'aLongPath/leg-13-calculator/public/assets/jspm_packages/npm/[email protected]/index.ts',
relativeFilename: 'public/assets/jspm_packages/npm/[email protected]/index.ts',
file: <File "jspm_packages/npm/[email protected]/index.ts" <Buffer 69 6d 70 6f 72 74 20 2a 20 61 73 20 72 69 6f 74 20 66 72 6f 6d 20 22 72 69 6f 74 22 0d 0a 0d 0a 65 78 70 6f 72 74 20 66 75 6e 63 74 69 6f 6e 20 74 65 ... >>,
startPosition: { position: 22, line: 1, character: 23 },
endPosition: { position: 27, line: 1, character: 29 },
message: '\u001b[31mpublic/assets/jspm_packages/npm/[email protected]/index.ts(1,23): \u001b[39merror TS2307: Cannot find module \'riot\'.' }
Этот файл существует. Путь правильный. Он просто не находит бунт.
У кого-нибудь есть пример работы riot-ts с jspm?
Обновление от 06 01 2016
- Не было файла типизации. Руководство по http://jspm.io/docs/getting-started.html < strong>надо упомянуть об этом. Много часов потрачено впустую.
- Хотя это исправляет ошибку машинописного текста, это не исправляет интеграцию riot-ts. Я пока вернулся в беседку.
Обновление от 06 февраля 2016 г.
- Не удается заставить декоратор @template работать в машинописном тексте. Пробовали несколько файлов определения ts. ТС просто блюет...