Изменение облегченного сервера для использования каталога dist

Я создал проект Angular 2, используя стартовый пример. Код размещается в каталоге приложений, ts компилируется в js в той же структуре, и lite-сервер правильно обслуживает файлы. Все работает правильно.

Я хотел бы переместить вывод ts в каталог dist, поскольку мне не нравятся файлы js & map в той же структуре (это довольно часто встречается в других средах).

Добавление

"outDir": "dist" 

в файл tsconfig.json вызывает компиляцию ts в.js в каталоге dist / app / app. Не уверен, почему это добавляет второе приложение к структуре.

Кажется, с помощью метода проб и ошибок, работает basedir = "./" для старой структуры. Не уверен, почему это работает, но это работает.

Использование bs-config.js

module.exports = {
  port: 3000,
  server: {
    // old structure, this works
    baseDir: "./"
    // new structure commented out, does not work
    //baseDir: "./dist"
  }
};

Поиграл с этим некоторое время, но не могу заставить структуру dist обслуживать файлы.

Всегда получайте ответ "Cannot GET /".

Мой файл tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true,
    "outDir": "dist"
  }
}

Был бы признателен, если бы кто-то мог объяснить мои выводы и то, что мне не хватает.

1 ответ

Из-за вашего dist структура папок, как dist/app/app может быть lite-сервер не умеет сервировать ваши файлы. Таким образом, вы можете попробовать, определив свой базовый путь в вашем tsconfig.json согласно вашей структуре папок, так что ваш dist папка будет иметь правильную структуру папок, а не структуру dist/app/app и после этого определите правильный server.baseDir в вашем bs-config.js:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true,
    "baseUrl": "./app",
    "outDir": "./dist"
  }
}
Другие вопросы по тегам