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
