scss compilation issue in angular lib created using angular-cli
Created(ng build my-lib
) an angular lib with global scss then bundled into one file and copied to lib's folder.
dist-lib/my-lib/lib/sass/my-lib.scss
Now my-lib.scss imports some resources like
@font-face {
font-family:"Roboto Regular";
font-weight:normal;
font-style:normal;
src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype"); /* Safari, Android, iOS */
}
I copied the resources folder to my lib at location
dist-lib/my-lib/lib/resources
/fonts
/ roboto-regular/Roboto-Regular.eot
Now in my Application's styles.scss file I am importing my-lib.scss file like this
@import "../dist-lib/my-lib/lib/sass/my-lib";
But this is showing error
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module Error (from ./node_modules/postcss-loader/src/index.js):
(Emitted value instead of an instance of Error) CssSyntaxError: D:SKStudyAngularAngularLibMyLibdist-libmy-liblibsassmy-lib.scss:10:9:
Can't resolve '../resources/fonts/roboto-regular/Roboto-Regular.woff' in 'D:SKStudyAngularAngularLibMyLibsrc'
8 | font-style:normal;
9 | src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
> 10 | url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
| ^
11 | url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype");
I guess the resources are getting resolved relative to file src/styles.scss instead of relative to dist-lib/my-lib/lib/sass/my-lib.scss
What is the solution for this?
angular sass angular-cli angular-library
add a comment |
Created(ng build my-lib
) an angular lib with global scss then bundled into one file and copied to lib's folder.
dist-lib/my-lib/lib/sass/my-lib.scss
Now my-lib.scss imports some resources like
@font-face {
font-family:"Roboto Regular";
font-weight:normal;
font-style:normal;
src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype"); /* Safari, Android, iOS */
}
I copied the resources folder to my lib at location
dist-lib/my-lib/lib/resources
/fonts
/ roboto-regular/Roboto-Regular.eot
Now in my Application's styles.scss file I am importing my-lib.scss file like this
@import "../dist-lib/my-lib/lib/sass/my-lib";
But this is showing error
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module Error (from ./node_modules/postcss-loader/src/index.js):
(Emitted value instead of an instance of Error) CssSyntaxError: D:SKStudyAngularAngularLibMyLibdist-libmy-liblibsassmy-lib.scss:10:9:
Can't resolve '../resources/fonts/roboto-regular/Roboto-Regular.woff' in 'D:SKStudyAngularAngularLibMyLibsrc'
8 | font-style:normal;
9 | src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
> 10 | url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
| ^
11 | url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype");
I guess the resources are getting resolved relative to file src/styles.scss instead of relative to dist-lib/my-lib/lib/sass/my-lib.scss
What is the solution for this?
angular sass angular-cli angular-library
add a comment |
Created(ng build my-lib
) an angular lib with global scss then bundled into one file and copied to lib's folder.
dist-lib/my-lib/lib/sass/my-lib.scss
Now my-lib.scss imports some resources like
@font-face {
font-family:"Roboto Regular";
font-weight:normal;
font-style:normal;
src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype"); /* Safari, Android, iOS */
}
I copied the resources folder to my lib at location
dist-lib/my-lib/lib/resources
/fonts
/ roboto-regular/Roboto-Regular.eot
Now in my Application's styles.scss file I am importing my-lib.scss file like this
@import "../dist-lib/my-lib/lib/sass/my-lib";
But this is showing error
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module Error (from ./node_modules/postcss-loader/src/index.js):
(Emitted value instead of an instance of Error) CssSyntaxError: D:SKStudyAngularAngularLibMyLibdist-libmy-liblibsassmy-lib.scss:10:9:
Can't resolve '../resources/fonts/roboto-regular/Roboto-Regular.woff' in 'D:SKStudyAngularAngularLibMyLibsrc'
8 | font-style:normal;
9 | src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
> 10 | url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
| ^
11 | url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype");
I guess the resources are getting resolved relative to file src/styles.scss instead of relative to dist-lib/my-lib/lib/sass/my-lib.scss
What is the solution for this?
angular sass angular-cli angular-library
Created(ng build my-lib
) an angular lib with global scss then bundled into one file and copied to lib's folder.
dist-lib/my-lib/lib/sass/my-lib.scss
Now my-lib.scss imports some resources like
@font-face {
font-family:"Roboto Regular";
font-weight:normal;
font-style:normal;
src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype"); /* Safari, Android, iOS */
}
I copied the resources folder to my lib at location
dist-lib/my-lib/lib/resources
/fonts
/ roboto-regular/Roboto-Regular.eot
Now in my Application's styles.scss file I am importing my-lib.scss file like this
@import "../dist-lib/my-lib/lib/sass/my-lib";
But this is showing error
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module Error (from ./node_modules/postcss-loader/src/index.js):
(Emitted value instead of an instance of Error) CssSyntaxError: D:SKStudyAngularAngularLibMyLibdist-libmy-liblibsassmy-lib.scss:10:9:
Can't resolve '../resources/fonts/roboto-regular/Roboto-Regular.woff' in 'D:SKStudyAngularAngularLibMyLibsrc'
8 | font-style:normal;
9 | src: url("../resources/fonts/roboto-regular/Roboto-Regular.eot?") format("eot"), /* IE9 Compat Modes */
> 10 | url("../resources/fonts/roboto-regular/Roboto-Regular.woff") format("woff"), /* Pretty Modern Browsers */
| ^
11 | url("../resources/fonts/roboto-regular/Roboto-Regular.ttf") format("truetype");
I guess the resources are getting resolved relative to file src/styles.scss instead of relative to dist-lib/my-lib/lib/sass/my-lib.scss
What is the solution for this?
angular sass angular-cli angular-library
angular sass angular-cli angular-library
asked Jan 2 at 8:01
Sunil GargSunil Garg
4,38564577
4,38564577
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
As I am building/serving my project through Angular-Cli, so the plugins/loaders that it uses to deal scss was not resolving the issues of relative (to the library itself) URLs (url(../)
).
To solve this I created fonts.css not fonts.scss that I ship with the library. And end user has to import this fonts.css as well.
And this is working now, though this does not sound a good solution, I got this workaround till the time.
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%2f54003034%2fscss-compilation-issue-in-angular-lib-created-using-angular-cli%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
As I am building/serving my project through Angular-Cli, so the plugins/loaders that it uses to deal scss was not resolving the issues of relative (to the library itself) URLs (url(../)
).
To solve this I created fonts.css not fonts.scss that I ship with the library. And end user has to import this fonts.css as well.
And this is working now, though this does not sound a good solution, I got this workaround till the time.
add a comment |
As I am building/serving my project through Angular-Cli, so the plugins/loaders that it uses to deal scss was not resolving the issues of relative (to the library itself) URLs (url(../)
).
To solve this I created fonts.css not fonts.scss that I ship with the library. And end user has to import this fonts.css as well.
And this is working now, though this does not sound a good solution, I got this workaround till the time.
add a comment |
As I am building/serving my project through Angular-Cli, so the plugins/loaders that it uses to deal scss was not resolving the issues of relative (to the library itself) URLs (url(../)
).
To solve this I created fonts.css not fonts.scss that I ship with the library. And end user has to import this fonts.css as well.
And this is working now, though this does not sound a good solution, I got this workaround till the time.
As I am building/serving my project through Angular-Cli, so the plugins/loaders that it uses to deal scss was not resolving the issues of relative (to the library itself) URLs (url(../)
).
To solve this I created fonts.css not fonts.scss that I ship with the library. And end user has to import this fonts.css as well.
And this is working now, though this does not sound a good solution, I got this workaround till the time.
answered Jan 10 at 6:55
Sunil GargSunil Garg
4,38564577
4,38564577
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%2f54003034%2fscss-compilation-issue-in-angular-lib-created-using-angular-cli%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