Node.js 在TypeScript中使用共享项目

Node.js 在TypeScript中使用共享项目,node.js,typescript,npm,Node.js,Typescript,Npm,我有以下问题需要解决:我们目前有两个不同的web项目使用TypeScript和NPM。我们在两个项目中都有一些相同的东西。我们希望将它们移动到一个共享项目中,然后使用NPM将共享类绘制到我们的两个项目中 我尝试的是在我的共享组件项目中创建一个package.json,有效地使其成为一个NPM包(名称为“sharedcomponents”)。然后,我在两个web项目的package.json文件的dependencies下包含了以下内容: "sharedcomponents": "file:../

我有以下问题需要解决:我们目前有两个不同的web项目使用TypeScript和NPM。我们在两个项目中都有一些相同的东西。我们希望将它们移动到一个共享项目中,然后使用NPM将共享类绘制到我们的两个项目中

我尝试的是在我的共享组件项目中创建一个package.json,有效地使其成为一个NPM包(名称为“sharedcomponents”)。然后,我在两个web项目的package.json文件的dependencies下包含了以下内容:

"sharedcomponents": "file:../../sharedcomponents"
我在tsd.d.ts中也提到打字:

/// <reference path="../../sharedcomponents/shared.d.ts" />
“shared”文件是shared.js,它又包括其他文件

我遇到的问题来了。当我尝试从共享组件包导入类时,我找不到任何内容

import * as SharedComponents from 'sharedcomponents';

private _button: SharedComponents.TextButton;
编译器抱怨找不到TextButton。我也没有智能感知,就像我在NPM中包含的React一样


我错过了什么重要的事情吗?我查看了Node和NPM站点,但没有发现像我希望的那样使用“本地”NPM包。

当您使用TSD时,是否也可以使用NPM
@types/*
来避免
///2.x?为什么对本地包使用NPM?它是否可以包含在您的
tsconfig.json
中?是的,我们使用的是TypeScript 2.1。罗曼:你能详细说明一下如何包含这个tsconfig.json吗?好的,我用它来识别类。但是,在运行期间,我现在遇到了这个问题:404(未找到)就像它试图将共享组件包作为文件加载…错误404只能通过更多信息(构建、服务…)来解决,这些信息可能很长。要评估的备选选项,所有这些选项都会导致共享文件位于项目文件夹中,并且需要手动同步:-如果源代码位于git:git子模块,-npm私有存储库,-复制共享文件的自定义npm脚本中
import * as SharedComponents from 'sharedcomponents';

private _button: SharedComponents.TextButton;