我已经使用入门示例设置了一个 Angular 2 项目。代码放在apps目录下,ts以相同的结构编译成js,lite-server正确地提供文件。一切正常。
我想将 ts 输出移动到 dist 目录,因为我不喜欢同一结构中的 js & map 文件(这在其他环境中很常见)。
添加
"outDir": "dist"
到 tsconfig.json 文件确实会导致 ts 被编译成 dist/app/app 目录下的 .js。不知道为什么这会在结构中添加第二个应用程序。
通过反复试验,似乎 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"
}
}
如果有人能解释我的发现和我所缺少的,将不胜感激。