【发布时间】:2019-02-15 10:21:22
【问题描述】:
我正在努力学习 Angular2(和一般的 Angular),掌握核心概念,并且一直在开发我的第一个“真正的”应用程序。我使用 GitHub 上的一些示例项目和 Angular 网站上的快速入门作为指南,但遇到了一些障碍,我正在寻找一些关于设置目录结构、集成类型和参考节点模块的“正确”方式的建议应用程序。显然,某些方面可能是个人编码偏好,所以我只是在这里寻找一些最佳实践建议。
应用概述:
- 应用程序有一个服务器端组件,用于连接到本地 SQL 服务器并代理来自客户端的调用以提供要显示的数据。
- 应用程序有一个客户端组件,用于为页面/模板提供服务并与服务器端通信以调用以检索数据并将其显示在页面上
- 应用程序使用 gulp 来配置和启动服务器端和客户端(不同的调用 - 例如:gulp start-server / gulp start-client)
我有所有工作的基础知识,所以我的问题并不是关于那个。当我有需要利用的节点模块以及集成这些模块的正确方式/最佳方式时,我的问题就出现了。
假设我的基本目录结构是这样的(基于我用作参考的示例项目)...
- client
|- public
|- app
|- css
|- lib (some js files)
|- etc...
index.html
|- typings
client.ts/js
- node_modules
|- modules installed via npm install
- server
|- core (contains db-connection)
|- typings
server.ts/js
现在,假设我需要并安装了节点模块 Rxjs,并且需要在我的客户端引用它...这就是我不清楚的地方。
我已经看到一些帖子,我应该使用 System.config 的“映射”功能与 index.html 文件中的包功能一起映射到 node_module,但我无法让它工作.应用程序启动,但客户端应用程序组件似乎无法看到它。这几乎就像一个超出范围的问题。 (抱歉,我手边没有确切的错误信息)。如果我使用 map,我是否允许/应该将其映射到 node_modules 目录中的主目录,还是应该将所需的打字稿文件放在 Public 的目录结构中?
我还看到一些帖子,您可以将 js 文件移动到说 lib 目录并将其作为 index.html 中的 javascript src 文件引用......但我也没有得到任何乐趣。
我认为部分问题可能与各种 node_modules 本身的需求/依赖关系有关,但我不确定如何处理。
那么,设置这一切并集成我需要的 node_modules 的正确/最佳方法是什么?是否根本不可能从客户端应用程序引用 node_modules 中的模块,我需要将所有 .d.ts/ts/js 文件纳入公共范围?如果是这样,我是否需要调查每个 ts 文件中的引用并将所有内容都带过来?
我知道我在这里可能没有提供全部或完全具体的细节,但我希望你能看到我在这里提出的更高级别的最佳实践问题,并将我推向正确的方向。
【问题讨论】:
标签: angular typescript