使用我自己的库时找不到模块或其相应的类型声明
Cannot find module or its corresponding type declarations when using my own library
我创建了一个包含应用程序的工作区和我的第一个库,它是使用命令 ng g library breeze-helpers
创建的(breeze-helpers 是我的库的名称)
然后我用 ng build breeze-helpers --watch
构建了库。它已成功编译到我的工作区的 dist
文件夹中。
在主 tsconfig 文件中自动添加了以下内容:
"paths": {
"breeze-helpers": [
"dist/breeze-helpers/breeze-helpers",
"dist/breeze-helpers"
]
}
然后我在我的一个应用程序中导入了库:
import { BreezeHelpersModule } from 'breeze-helpers';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BreezeHelpersModule
],
我可以在我的代码中使用它:
import { EntityManagerService } from 'breeze-helpers';
Visual Studio 代码为我提供了智能感知,没有发现任何错误。但是,当我使用 ng build my-app
构建我的应用程序时,我遇到了很多错误:
我不知道我错过了什么。我一直在关注这个 documentation。
找到问题了。我必须按照说明 here
创建一个 simlink
$ cd ./dist/my-lib
$ npm link
$ cd my-app
$ npm link my-lib
我创建了一个包含应用程序的工作区和我的第一个库,它是使用命令 ng g library breeze-helpers
创建的(breeze-helpers 是我的库的名称)
然后我用 ng build breeze-helpers --watch
构建了库。它已成功编译到我的工作区的 dist
文件夹中。
在主 tsconfig 文件中自动添加了以下内容:
"paths": {
"breeze-helpers": [
"dist/breeze-helpers/breeze-helpers",
"dist/breeze-helpers"
]
}
然后我在我的一个应用程序中导入了库:
import { BreezeHelpersModule } from 'breeze-helpers';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BreezeHelpersModule
],
我可以在我的代码中使用它:
import { EntityManagerService } from 'breeze-helpers';
Visual Studio 代码为我提供了智能感知,没有发现任何错误。但是,当我使用 ng build my-app
构建我的应用程序时,我遇到了很多错误:
我不知道我错过了什么。我一直在关注这个 documentation。
找到问题了。我必须按照说明 here
创建一个 simlink$ cd ./dist/my-lib
$ npm link
$ cd my-app
$ npm link my-lib