Угловая сборка CLI с использованием base-href и deploy-url для доступа к ресурсам в CDN

//Following code return file name only 

string[] FileFullPath;
string FileName;
objOpenFileDialog.Title = "Select Center Logo";
objOpenFileDialog.ShowDialog();

FileFullPath = objOpenFileDialog.FileNames[0].ToString().Split('\\');
FileName = FileFullPath[FileFullPath.Length - 1]; //return only File Name

//Use following code if u want save other folder , 
// following code save file to CenterLogo  folder which inside bin folder//

System.IO.File.Copy(OFD.FileName, Application.StartupPath + 
"/CenterLogo/" + FileName, true);
24
задан david.emilsson 19 December 2017 в 11:00
поделиться

2 ответа

Чтобы получить доступ к значению --deploy-url во время выполнения приложения, создайте deploy-url.ts с помощью:

export const DEPLOY_URL = new InjectionToken<string>('deployUrl');

И используйте этот фрагмент в файле main.ts:

const deployUrl = (function() {
  const scripts = document.getElementsByTagName('script');
  const index = scripts.length - 1;
  const mainScript = scripts[index];
  return mainScript.src.replace(/main.*?\.js$/, '');
})();

const DEPLOY_URL_PROVIDER = {
  provide: DEPLOY_URL,
  useValue: deployUrl,
};

platformBrowserDynamic([DEPLOY_URL_PROVIDER])
  .bootstrapModule(AppModule)
  .catch(err => console.error(err));

Идея получить URL исполняемого в данный момент файла Javascript, который является main.js (или main.hash.js, если включено outputHashing) и удалить из него имя файла. Затем в ваших сервисах введите значение --deploy-url с @Inject(DEPLOY_URL) deployUrl: string в качестве параметра конструктора.

0
ответ дан Marcin Majkowski 19 December 2017 в 11:00
поделиться

Я столкнулся с точно такой же ситуацией, и, как вы обрисовали в общих чертах в The Background , сборка с использованием набора base-href и deploy-url работает в том смысле, что мы можем обслуживать нашу CSS. и js файлы из CDN при размещении приложения на другом сервере.

В качестве решения для динамически загружаемых ресурсов в наших шаблонах мы написали API, который предоставляет переменные среды для этой цели, которые предоставляют соответствующие URL-адреса, необходимые для развертывания.

0
ответ дан DevMike 19 December 2017 в 11:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: