Angular-cli项目无法在SharePoint

时间:2017-08-11 13:00:05

标签: angular sharepoint sharepoint-2013 angular-cli sharepoint-online

我使用Angular 4.3.3和CLI版本1.2.7构建了一个可以在SharePoint中运行的应用程序。此应用程序依赖于FontAwesome的图标。

运行ng serve时,显示FontAwesome图标没问题。但是,在为生产环境构建时,它们不会显示。

Angular应用程序是可由客户安装的产品的一部分。它们都有自己的SharePoint环境。 SharePoint WebPart通过IIS网站检索捆绑的文件。

我能够加载这些文件,因此我的应用程序适用于每个客户,但正如我已经说过的,FontAwesome图标没有显示,因为它试图加载woff2,woff和ttf文件相对于SharePoint网站网址。

这是错误: This is the error

如上图所示,文件相对于glen2013/sites/AdventureWorks2014加载。提供字体文件和捆绑应用程序文件的IIS网站不在glen2013服务器上,而是在不同的服务器上。我知道我可以使用CLI中的deployUrl选项来指定文件所在的路径,但是文件所在的URL会从客户更改为客户。每个客户都拥有自己的deployUrl,但我不想强迫业务用户更改.angular-cli.json文件并打开命令提示符以触发应用程序的生产版本。

有人可以帮助我在运行时实现这一目标吗?

构建命令

ng build -e prod --no-sourcemap

dist文件夹内容

  • 的favicon.ico
  • fontawesome-webfont.674f50d287a8c48dc19b.eot
  • fontawesome-webfont.912ec66d7572ff821749.svg
  • fontawesome-webfont.af7ae505a9eed503f8b8.woff2
  • fontawesome-webfont.b06871f281fee6b241d6.ttf
  • fontawesome-webfont.fee66e712a8a08eef580.woff
  • 的index.html
  • inline.bundle.js
  • main.bundle.js
  • polyfills.bundle.js
  • scripts.bundle.js
  • styles.bundle.js
  • vendor.bundle.js

.angular-cli.json

"styles": [
  "styles.css",
  "obiz-theme.scss",
  "../node_modules/@progress/kendo-theme-default/dist/all.css",
  "../node_modules/font-awesome/css/font-awesome.css"
],

ng -v输出

@angular/cli: 1.2.7
node: 8.0.0
os: win32 x64
@angular/animations: 4.3.3
@angular/cdk: 2.0.0-beta.8
@angular/common: 4.3.3
@angular/compiler: 4.3.3
@angular/core: 4.3.3
@angular/forms: 4.3.3
@angular/http: 4.3.3
@angular/material: 2.0.0-beta.8
@angular/platform-browser: 4.3.3
@angular/platform-browser-dynamic: 4.3.3
@angular/platform-server: 4.3.3
@angular/router: 4.3.3
@angular/cli: 1.2.7
@angular/compiler-cli: 4.3.3

1 个答案:

答案 0 :(得分:0)

我同意LLai。当我将@ angular / cli升级到版本1.3.0时,我也犯了这个错误。现在我已经解决了。 1.复制frctawesome到src / assets 2.将其添加到index.html    3.modify配置文件.angular-cli.json       “资产”:[         {“glob”:“** / *”,“input”:“../ node_modules/font-awesome”,“output”:“。/ font-awesome /”}       ]       “风格”:[         “../node_modules/font-awesome/css/font-awesome.min.css”       ],