Не удается найти модуль при переносе приложения ember-cli на TypeScript

#ember.js #typescript #ember-cli

#ember.js #typescript #ember-cli

Вопрос:

Я хочу попробовать ts в своем проекте ember (я пробовал это раньше в небольших приложениях)

Итак, у меня есть

 "ember-cli-typify": "^0.3.1",
"typescript": "^2.0.3"
"typings": "^1.4.0"
"ember-cli": "2.4.3"
  

Внутри моего tsconfig.json

 {
  "compilerOptions": {
    "target": "ES6",
    "allowJs": true,
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noEmit": true,
    "baseUrl": ".",
    "paths": {
      "ember": ["node_modules/at-types-ember"],
      "npm:*": ["local-types/*"],
      "*": ["local-types/*"]
    }
  },
  "include": [
    "app/**/*"
  ],
  "files": [
    "typings/index.d.ts"
  ]
}
  

Я пытаюсь перейти app/app.js в app/app.ts

внутри файла у меня есть следующий

 import Ember from 'ember'; // this was solved via typings dt~ember
import Resolver from './resolver.js'; // here I just add `.js` but I'm interested how to avoid it
import loadInitializers from 'ember-load-initializers'; // here I have first error
import config from './config/environment';
  

внутри typings/index.d.ts я добавляю строку

  declare module 'ember-load-initializers' { var out: any; export = out; }
  

Но я все еще получил

  .../tree_stabilizer-output_path-UJl8FIXV.tmp/apollo/app.ts (6, 30): Cannot find module 'ember-load-initializers'.
  

Я пытаюсь поместить объявление в отдельный файл и добавить его в files раздел, но получил тот же результат

PS Я пытаюсь использовать tildeio/broccoli-typescript-compiler , но у меня это не работает (или я делаю что-то не так) — но если у вас есть какие-то инструкции для этого (в паре с ember-cli) — будет здорово, если вы поделитесь

Ответ №1:

Теперь вы можете попробовать это:

 yarn add typescript -D
ember install ember-cli-typescript@latest
  

https://github.com/typed-ember/ember-cli-typescript#setup-and-configuration


предварительная установка typescript предотвратит эту ошибку:

Не удается найти модуль ‘typescript’