在Angular 2项目

时间:2017-06-26 17:03:50

标签: angular configuration webpack compilation font-awesome

我对Angular有点新意,所以希望我遇到的问题有可能解决。

在我的Angular项目中,当我们运行ng build时,我们将源代码编译到名为 ng 的webapp文件夹中的特定desination目录中。我们包含了一些需要使用一些fontawesome和roboto-v15字体文件的模块,因此它似乎将所需的字体文件复制到 ng 目录(这些文件命名为 fontawesome- webfont.af7ae505a9eed503f8b8.woff2 fontawesome-webfont.b06871f281fee6b241d6.ttf )。

在我们包含角度模块的页面上,它尝试使用我们当前所在页面的基本URL来请求这些文件,实际上我需要它来查看 ng 目录代替

例如,当我加载页面时,我在控制台中收到这些404错误:

NetworkError: 404 Not Found - http://localhost:8080/test/url/roboto-v15-latin-regular.7e367be02cd17a96d513.woff2.

我需要配置角度编译器,告诉它这些文件位于http://localhost:8080/ng/roboto-v15-latin-regular.7e367be02cd17a96d513.woff2

当我查看已编译的 styles.bundle.js 时,我可以找到对它放入页面样式的资源文件的引用。这是看起来像:

/***/ "../../../../primeng/resources/themes/omega/fonts/roboto-v15-latin-regular.woff":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "roboto-v15-latin-regular.16e1d930cf13fb7a9563.woff";

/***/ }),

如果我能找出哪个配置设置可以将 __ webpack_require __。p 变量设置为 ng / ,那么它将是完美的。目前我手动在页面本身导入这些字体文件,但我觉得如果我想使用其他模块来编译某些资源文件,这将是一个问题。

1 个答案:

答案 0 :(得分:0)

经过多次挖掘后,我意识到我的问题有点措辞不好。我找到了我在这里寻找的答案:

How to set the public path on angular 4

我正在寻找的设置是尝试为我的资源文件设置公共路径。此设置由 .angular-cli.json

中的 deployUrl 参数控制