我使用入门样本设置了Angular 2项目。代码放在apps目录下,ts在同一结构中编译为js,lite-server正确地提供文件。一切正常。
我想把ts输出移到dist目录,因为我不喜欢js&以相同结构映射文件(这在其他环境中很常见)。
添加
"outDir": "dist"
到tsconfig.json文件会导致ts被编译成dist / app / app目录下的.js。不知道为什么会在结构中添加第二个应用程序。
通过反复试验,似乎是基于=" ./"适用于旧结构。不知道为什么会这样,但确实如此。
使用bs-config.js
module.exports = {
port: 3000,
server: {
// old structure, this works
baseDir: "./"
// new structure commented out, does not work
//baseDir: "./dist"
}
};
已经玩了一段时间,但无法获得dist结构来提供文件。
总是得到一个"不能GET /"响应。
我的tsconfig.json文件:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"outDir": "dist"
}
}
如果有人能解释我的发现以及我遗失的内容,我们将不胜感激。
答案 0 :(得分:0)
由于您的dist
文件夹结构(例如dist/app/app
)可能是lite-server无法为您的文件提供服务。
因此,您可以尝试根据文件夹结构在tsconfig.json
中定义基本路径,这样您的dist
文件夹将具有正确的文件夹结构,而不是dist/app/app
之类的结构,并且在它定义正确的{{}之后1 {} server.baseDir
:
bs-config.js