Изменение облегченного сервера для использования каталога 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"
}
}