网站搜索

javascript - 我可以在 Angular 和 Node 之间共享一个服务吗?


我在我的 Angular5 TypeScript 应用中有一个标准的实用服务。我想将其与我的 Node 应用共享,该应用正在提供这个应用服务。

我找不到任何相关信息,但我看到的问题有:

  • 使用 require() 导入 TS 文件,并且如果生成的 JS 文件与其位于同一位置
  • 忽略 @Injectable,它是用于 Angular 服务的装饰器。

我认为这是可能的,因为这是使用全栈 JavaScript 的一个主要好处,但这如何实现呢?

我在 NodeJs 中尝试了以下操作,但它会抛出错误:

const utilService = require('../../src/app/services/util/util.service');

答案#1

我会创建一个包含你工具请求的私有 npm 包。

然后将它导入到你的 Angular 项目和 Node 项目中。

答案#2

我能想到的你实现这一点的唯一方法,是提供你 util.service 的已编译(ES2015 及以下)版本。这样做可以作为构建脚本/管道的自动化部分。

或者,如果 util.service 不经常更改,可以手动编译它

tsc ./src/app/services/util/util.service.ts --out ./src/app/services/util/util.service.js