Angular Library failed to export class - Angular6
I have created a new Angular 6 Library. This Library has a Model called User:
export class User {
public id: string;
public username: string;
constructor(id: string,
username: string) {
this.id = id;
this.username = username;
}
}
I am using the library in another angular app, everything works fine. But when I try to use the model:
export class AppComponent {
public user: User;
constructor() {
this.user = new User('1', 'my user');
}
}
I am getting this error:
Module not found: Error: Can't resolve 'my-lib/lib/models/user.model' in 'C:my-appsrcapp'
The intellisense found it but I am still receiving this error.
AppModule:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
UserModule,
],
bootstrap: [AppComponent]
})
anybody has an idea? Thanks!
model angular6 angular-library
add a comment |
I have created a new Angular 6 Library. This Library has a Model called User:
export class User {
public id: string;
public username: string;
constructor(id: string,
username: string) {
this.id = id;
this.username = username;
}
}
I am using the library in another angular app, everything works fine. But when I try to use the model:
export class AppComponent {
public user: User;
constructor() {
this.user = new User('1', 'my user');
}
}
I am getting this error:
Module not found: Error: Can't resolve 'my-lib/lib/models/user.model' in 'C:my-appsrcapp'
The intellisense found it but I am still receiving this error.
AppModule:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
UserModule,
],
bootstrap: [AppComponent]
})
anybody has an idea? Thanks!
model angular6 angular-library
1
I suggest inside your lib you create a new filepublic_api.ts
withinmy-lib/
in which youexport
the classes you want to be publically available. You can do that by addingexport * from './lib/models/user.model
for each model, you want to export.
– Philipp Meissner
Nov 23 '18 at 15:22
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55
add a comment |
I have created a new Angular 6 Library. This Library has a Model called User:
export class User {
public id: string;
public username: string;
constructor(id: string,
username: string) {
this.id = id;
this.username = username;
}
}
I am using the library in another angular app, everything works fine. But when I try to use the model:
export class AppComponent {
public user: User;
constructor() {
this.user = new User('1', 'my user');
}
}
I am getting this error:
Module not found: Error: Can't resolve 'my-lib/lib/models/user.model' in 'C:my-appsrcapp'
The intellisense found it but I am still receiving this error.
AppModule:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
UserModule,
],
bootstrap: [AppComponent]
})
anybody has an idea? Thanks!
model angular6 angular-library
I have created a new Angular 6 Library. This Library has a Model called User:
export class User {
public id: string;
public username: string;
constructor(id: string,
username: string) {
this.id = id;
this.username = username;
}
}
I am using the library in another angular app, everything works fine. But when I try to use the model:
export class AppComponent {
public user: User;
constructor() {
this.user = new User('1', 'my user');
}
}
I am getting this error:
Module not found: Error: Can't resolve 'my-lib/lib/models/user.model' in 'C:my-appsrcapp'
The intellisense found it but I am still receiving this error.
AppModule:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
UserModule,
],
bootstrap: [AppComponent]
})
anybody has an idea? Thanks!
model angular6 angular-library
model angular6 angular-library
asked Nov 23 '18 at 15:03
Samy SammourSamy Sammour
5471829
5471829
1
I suggest inside your lib you create a new filepublic_api.ts
withinmy-lib/
in which youexport
the classes you want to be publically available. You can do that by addingexport * from './lib/models/user.model
for each model, you want to export.
– Philipp Meissner
Nov 23 '18 at 15:22
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55
add a comment |
1
I suggest inside your lib you create a new filepublic_api.ts
withinmy-lib/
in which youexport
the classes you want to be publically available. You can do that by addingexport * from './lib/models/user.model
for each model, you want to export.
– Philipp Meissner
Nov 23 '18 at 15:22
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55
1
1
I suggest inside your lib you create a new file
public_api.ts
within my-lib/
in which you export
the classes you want to be publically available. You can do that by adding export * from './lib/models/user.model
for each model, you want to export.– Philipp Meissner
Nov 23 '18 at 15:22
I suggest inside your lib you create a new file
public_api.ts
within my-lib/
in which you export
the classes you want to be publically available. You can do that by adding export * from './lib/models/user.model
for each model, you want to export.– Philipp Meissner
Nov 23 '18 at 15:22
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55
add a comment |
1 Answer
1
active
oldest
votes
The problem is that you did not export the model to the outside world of your library.
In order to do that I suggest an additional file called public_api.ts
in which you export the model explicitly.
Place it right into the root of your library my-lib
.
Then, fill the file up with explicit exports like so:
export * from './lib/models/user.model'
That should do it.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53448981%2fangular-library-failed-to-export-class-angular6%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The problem is that you did not export the model to the outside world of your library.
In order to do that I suggest an additional file called public_api.ts
in which you export the model explicitly.
Place it right into the root of your library my-lib
.
Then, fill the file up with explicit exports like so:
export * from './lib/models/user.model'
That should do it.
add a comment |
The problem is that you did not export the model to the outside world of your library.
In order to do that I suggest an additional file called public_api.ts
in which you export the model explicitly.
Place it right into the root of your library my-lib
.
Then, fill the file up with explicit exports like so:
export * from './lib/models/user.model'
That should do it.
add a comment |
The problem is that you did not export the model to the outside world of your library.
In order to do that I suggest an additional file called public_api.ts
in which you export the model explicitly.
Place it right into the root of your library my-lib
.
Then, fill the file up with explicit exports like so:
export * from './lib/models/user.model'
That should do it.
The problem is that you did not export the model to the outside world of your library.
In order to do that I suggest an additional file called public_api.ts
in which you export the model explicitly.
Place it right into the root of your library my-lib
.
Then, fill the file up with explicit exports like so:
export * from './lib/models/user.model'
That should do it.
answered Nov 23 '18 at 16:58
Philipp MeissnerPhilipp Meissner
1,88111532
1,88111532
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53448981%2fangular-library-failed-to-export-class-angular6%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
I suggest inside your lib you create a new file
public_api.ts
withinmy-lib/
in which youexport
the classes you want to be publically available. You can do that by addingexport * from './lib/models/user.model
for each model, you want to export.– Philipp Meissner
Nov 23 '18 at 15:22
Perfect! it works for me, thanks!
– Samy Sammour
Nov 23 '18 at 16:50
Great, I will prepare an official answer quickly. I was on phone when I wrote the comment.
– Philipp Meissner
Nov 23 '18 at 16:55