Created( ng build my-lib
) 一个带有全局 scss 的 angular lib,然后将其捆绑到一个文件中并复制到 lib 的文件夹中。
dist-lib/my-lib/lib/sass/my-lib.scss
现在my-lib.scss导入一些资源,例如
@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 */
}
我将资源文件夹复制到我的库中
dist-lib/my-lib/lib/resources
/fonts
/ roboto-regular/Roboto-Regular.eot
现在在我的应用程序的styles.scss文件中,我正在像这样导入my-lib.scss文件
@import "../dist-lib/my-lib/lib/sass/my-lib";
但这显示错误
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:\SK\Study\Angular\AngularLib\MyLib\dist-lib\my-lib\lib\sass\my-lib.scss:10:9:
Can't resolve '../resources/fonts/roboto-regular/Roboto-Regular.woff' in 'D:\SK\Study\Angular\AngularLib\MyLib\src'
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");
我猜资源正在相对于文件src/styles.scss而不是相对于dist-lib/my-lib/lib/sass/my-lib.scss 得到解决
解决方案是什么?