scss compilation issue in angular lib created using angular-cli












0















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?










share|improve this question



























    0















    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?










    share|improve this question

























      0












      0








      0








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 2 at 8:01









      Sunil GargSunil Garg

      4,38564577




      4,38564577
























          1 Answer
          1






          active

          oldest

          votes


















          0














          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.






          share|improve this answer























            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            0














            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.






            share|improve this answer




























              0














              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.






              share|improve this answer


























                0












                0








                0







                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.






                share|improve this answer













                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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 10 at 6:55









                Sunil GargSunil Garg

                4,38564577




                4,38564577
































                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Monofisismo

                    Angular Downloading a file using contenturl with Basic Authentication

                    Olmecas