更改lite服务器以使用dist目录

时间:2016-11-18 05:31:32

标签: angular lite-server

我使用入门样本设置了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"
  }
}

如果有人能解释我的发现以及我遗失的内容,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

由于您的dist文件夹结构(例如dist/app/app)可能是lite-server无法为您的文件提供服务。 因此,您可以尝试根据文件夹结构在tsconfig.json中定义基本路径,这样您的dist文件夹将具有正确的文件夹结构,而不是dist/app/app之类的结构,并且在它定义正确的{{}之后1 {} server.baseDir

bs-config.js