node.js - 无法在 Angular 2 应用程序中更改 lite-server 的基本文件夹

标签 node.js angular browser-sync lite-server

我正在查看 5 minute quickstart of Angular 2 .但是,我的应用程序驻留在 src/ 文件夹中,而不是在我的存储库的根目录中,当我运行 npm start 时,应用程序正在尝试查找 index.html。 html 文件位于根目录。我阅读了 lite-server 并且文档显示它使用 BrowserSync 并且我可以使用 bs-config.json 重新配置 BrowserSync 在我的存储库中。我这样做了,这就是我的配置:

{
  "port": 8123,
  "server": { "baseDir": "./src" }
}

根据日志它正在使用指定的配置:

[1] > todo-app-angular2@1.0.0 lite E:\GitHub\todo-app-angular2
[1] > lite-server "./bs-config.json"

我还尝试了通过 bs-config.js 覆盖

module.exports = {
  port: 8123,
  server: {
    baseDir: "./src"
  }
};

但是 Angular 应用程序仍然在端口 3000 上打开,并且它忽略了配置中定义的 baseDir。我做错了什么?

最佳答案

您应该使用一个名为 bs-config.js 的文件(而不是 bs-config.json 文件),因为 lite-server 尝试使用要求函数。配置应该是一个有效的 Node 模块:

module.exports = {
  "port": 8123,
  "server": { "baseDir": "./src" }
};

查看源代码中的这一行:https://github.com/johnpapa/lite-server/blob/master/lib/lite-server.js#L20 .

此文件默认从用户的项目文件夹中加载。

编辑

在深入挖掘之后,我的答案的第一部分依赖于来自 github 的代码,而不是使用 npm install 实际安装的代码(版本 1.3.4)

在这种情况下有两种选择:

  • 端口
  • baseDir

使用此命令将解决您的问题:

$ lite-server --baseDir ./src --port 3333

希望对你有帮助 蒂埃里

关于node.js - 无法在 Angular 2 应用程序中更改 lite-server 的基本文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35149408/

相关文章:

node.js - 使用 lite-server 更改要加载的默认文件

npm - 浏览器同步 TypeError args.cb 不是函数

node.js - 如何使用 socket.io 和 cryptojs 以及 sql server 结果发出对象数组?

javascript - Node - 等待循环完成?

node.js - 减少无服务器框架发送的 Node 模块 zip 的大小

angular - 单击单元格按钮以在 Ag 网格中显示 Angular-Material 2 模态窗口

gulp - 如何使用 Polymer 实时重新加载代码

node.js - Socket.io - 如何向客户端发送身份验证错误?

javascript - 无法读取未定义的属性 'Push' - Typescript

angular - 从 ngContent 以 Angular 传递数据