Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.03.2018, 15:09
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

kaniel_outis,
У TypeScript есть такая штука - baseUrl и paths называются. Настраиваются в tsconfig.json. Так вот, в ней можно указать точка входа в проект (baseUrl) и paths - аналог алиасов в вебпаке.
При таком конфиге
Код:
{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"]
    },
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}
и структуре проекта
Код:
-node_modules
-src
    -app
        -models
            -todo.ts
    ...
-tsconfig.json
...
Импорт модели Todo из любого файла любой вложенности будет выглядеть как
import { Todo } from '@app/models/todo'.

То есть мы избавляемся от относительных путей и получаем плоскую структуру нашего проекта

https://netbasal.com/sexier-imports-...t-e3c645bdd3c6
Ответить с цитированием
  #12 (permalink)  
Старый 12.03.2018, 16:53
Новичок на форуме
Отправить личное сообщение для kaniel_outis Посмотреть профиль Найти все сообщения от kaniel_outis
 
Регистрация: 01.02.2018
Сообщений: 7

Сообщение от destus Посмотреть сообщение
kaniel_outis,
У TypeScript есть такая штука - baseUrl и paths называются. Настраиваются в tsconfig.json. Так вот, в ней можно указать точка входа в проект (baseUrl) и paths - аналог алиасов в вебпаке.
При таком конфиге
Код:
{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"]
    },
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}
и структуре проекта
Код:
-node_modules
-src
    -app
        -models
            -todo.ts
    ...
-tsconfig.json
...
Импорт модели Todo из любого файла любой вложенности будет выглядеть как
import { Todo } from '@app/models/todo'.

То есть мы избавляемся от относительных путей и получаем плоскую структуру нашего проекта

https://netbasal.com/sexier-imports-...t-e3c645bdd3c6
огромное спасибо! )
Правда поздно увидел Ваше сообщение, нашел это же решение на другом форуме.
Единственное.... нужно ли как то ребилдить проект после изменения tsconfig? Изменения не применяются у меня, почему то. Сейчас разибраюсь. Но Вам лайк+ комент)
Ответить с цитированием
  #13 (permalink)  
Старый 12.03.2018, 18:53
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
нужно ли как то ребилдить проект после изменения tsconfig?
Просто перезапустить сборку, ng serve. tsconfig.json в самом корне проекта который, а не в src.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Yadex Maps 2.1 (время в пути) svv Общие вопросы Javascript 0 16.11.2015 12:51
Пути к файлам аудио maxvolodya Events/DOM/Window 4 19.02.2014 19:41
Передача пути к файлу в строке "innerHTML" lexx006 Элементы интерфейса 10 15.06.2010 10:04
Указание пути в document.getElementById. Flashton Элементы интерфейса 7 31.01.2010 21:13
Поиск кротчайшего пути IVIbILLIb Серверные языки и технологии 6 02.05.2009 17:11