首页 文章

自定义Angular-CLI以在构建时修改相对路径

提问于
浏览
1

我正在使用Angular CLI来构建我的Angular 4项目 . 我需要运行该应用程序

  • 作为独立应用程序

  • 作为嵌入在门户页面中的应用程序

该应用程序作为独立的应用程序运行良好 .

当嵌入在静态内容从CDN提供的门户中时,使用相对URL加载的资源不会被加载,因为它们嵌套在CDN下的不同根目录下 .

例如在我的独立应用程序中,我有一个背景图片,我在我的scss文件中引用为背景:url('/assets/images/bg.jpg') . 但是,嵌入门户网站时,相对URL为 /cdn/app /assets/images/bg.jpg .

有没有办法在 ng build 中更改SCSS和HTML中使用的相对URL?我可以定义一个保存我的CDN路径的变量吗?Angular-CLI在构建时用实际值替换变量?

例如

背景:网址('$cdnAppRoot/assets/images/bg.jpg');

换成了

背景:网址('/cdn/app/assets/images/bg.jpg')

1 回答

  • 1

    在为 生产环境 构建时,可以添加deploy-url参数来更改应从中读取资产的位置 .

    ng build -d /cdn/app
    

    我建议添加一个名为 prod 的新npm脚本,以使其更容易

    {
       "scripts: {
         // Other npm scripts
         "prod": "ng build -d /cdn/app"
       }
    }
    

相关问题