首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使publicPath更新使用角8单温泉加载字体可怕?

我如何使publicPath更新使用角8单温泉加载字体可怕?
EN

Stack Overflow用户
提问于 2020-03-03 16:27:29
回答 1查看 1.2K关注 0票数 1

我正在尝试使用Angular更新webpack_public_path。我正在使用单一水疗库,我有一个问题,加载字体-可怕的字体。

它在服务器根目录('/')中查找它们,但它们实际上驻留在应用程序文件夹('/app1')中。

我已经创建了一个文件集-public-spa.ts. of,并将其导入到main.mon-spa.ts中。

set-public-path.ts

代码语言:javascript
复制
// @ts-ignore
__webpack_public_path__ = 'https://appURL.net/app1/'

main.single-spa.ts

代码语言:javascript
复制
import './set-public-path.ts'
import { enableProdMode, NgZone } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { ɵAnimationEngine as AnimationEngine } from '@angular/animations/browser'; 
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import singleSpaAngular from 'single-spa-angular';
import { singleSpaPropsSubject } from './single-spa/single-spa-props';

if (environment.production) {
  enableProdMode();
}

// @ts-ignore
console.log(__webpack_public_path__);

const domElementGetter = () => document.getElementById('application');

const lifecycles = singleSpaAngular({
  bootstrapFunction: singleSpaProps => {
    singleSpaPropsSubject.next(singleSpaProps);
    return platformBrowserDynamic().bootstrapModule(AppModule);
  },
  template: '<app1-root />',
  domElementGetter,
  NgZone,
AnimationEngine,
});


export const bootstrap = lifecycles.bootstrap;
export const mount = lifecycles.mount;
export const unmount = lifecycles.unmount;

当应用程序运行时,它会记录正确的URL,但404错误仍然表示它正在查找根。我不知道我做错了什么。我使用SystemJS导入index.html文件中的应用程序。

环境信息:

代码语言:javascript
复制
"@angular-builders/custom-webpack": "^8",
"@angular/animations": "~8.2.11",
"@angular/cdk": "~8.2.3",
"@angular/common": "~8.2.11",
"@angular/compiler": "~8.2.11",
"@angular/core": "^8.2.14",
"@angular/forms": "~8.2.11",
"@angular/material": "^8.2.3",
"@angular/platform-browser": "~8.2.11",
"@angular/platform-browser-dynamic": "~8.2.11",
"@angular/router": "~8.2.11",
"@azure/msal-angular": "^0.1.4",
"@microsoft/applicationinsights-web": "^2.0.0",
"@okta/okta-angular": "^1.3.1",
"@types/jest": "^24.0.24",
"hammerjs": "^2.0.8",
"node-sass": "^4.13.1",
"rxjs": "~6.4.0",
"rxjs-compat": "^6.5.3",
"single-spa-angular": "^3.0.1",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
EN

回答 1

Stack Overflow用户

发布于 2020-09-03 07:51:41

这对我起了作用;

set-public-path.js

代码语言:javascript
复制
export default function setPublicPath() {
    return Promise.all([getUrl()]).then(values => {
        const [url] =values;
        __webpack_public_path__ = url;
        return true;
    });
}

function getUrl() {
     return window.System.resolve('app8');
}

main.single-spa.ts

代码语言:javascript
复制
import setPublicPath from './set-public-path.js';
setPublicPath();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60511626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档