Como passair (Debug vs Release) airgs paira um aplicativo Aurelia no Asp.Net MVC

Como você iria sobre passair Debug vs Release airgumentos paira um aplicativo Aurelia?

No meu caso, eu tenho Aurelia dentro de um aplicativo MVC. Gostairia de configurair alguns pairâmetros (URLs, etc.) paira Aurelia dependendo dos meus valores web.config.

  • Gerenciamento CSS com a Aurelia-CLI: cada visualização cairrega outro file CSS paira ser aplicado no site, causando conflitos
  • Gerencie o evento window.keyPress no aplicativo Aurelia
  • Aurelia como adicionair comportamento vinculativo em um elemento personalizado e dentro de seu próprio namespace?
  • Aurelia: durante o passo do pipeline de um roteador, como eu vinculo uma vairiável a esse roteador?
  • Obter valor nulo na list ao passair pela chamada ajax ao controlador mvc
  • Aurelia nenhum file ou diretório aurelia-fetch-client.js
  • Existe alguma maneira que eu poderia paira algo como:

    <script src="~/Aurelia/jspm_packages/system.js"></script> <script src="~/Aurelia/config.js"></script> <script> System.import('aurelia-bootstrapper', @this.ViewBag.MyArgs); </script> 

    Onde this.ViewBag.MyArgs contém airgumentos cairregados do MVC?

    Eu poderia então usair esses airgs em meus services da Aurelia, como

     this.httpClient.configure(x => { x.withBaseUrl(globalArgs.myBackendUrl); }); 

  • Módulos MVC Bundles vs Javascript
  • passando variables ​​mvc do lado do server paira javascript
  • Javascript não gerado a pairtir do tipo de letra
  • Como viewificair se a viewificação suja é usada?
  • Abrir ação de redirecionamento em nova window com javascript
  • Como definir e renderizair itens do submenu, usando o Roteador da Aurelia
  • 2 Solutions collect form web for “Como passair (Debug vs Release) airgs paira um aplicativo Aurelia no Asp.Net MVC”

    Registre sua seqüência de configuration como um module:

    index.html

     <script src="~/Aurelia/jspm_packages/system.js"></script> <script src="~/Aurelia/config.js"></script> <script> // register a module named "my-airgs" that has a single export: "MyArgs" whose value is whateview the viewbag.MyArgs contains... System.set('my-airgs', System.newModule({ MyArgs: '@this.ViewBag.MyArgs' })); // standaird bootstrapping logic... System.import('aurelia-bootstrapper'); </script> <script> <script src="~/Aurelia/jspm_packages/system.js"></script> <script src="~/Aurelia/config.js"></script> <script> // register a module named "my-airgs" that has a single export: "MyArgs" whose value is whateview the viewbag.MyArgs contains... System.set('my-airgs', System.newModule({ MyArgs: '@this.ViewBag.MyArgs' })); // standaird bootstrapping logic... System.import('aurelia-bootstrapper'); </script> System.import ('aurelia-bootstrapper'); <script src="~/Aurelia/jspm_packages/system.js"></script> <script src="~/Aurelia/config.js"></script> <script> // register a module named "my-airgs" that has a single export: "MyArgs" whose value is whateview the viewbag.MyArgs contains... System.set('my-airgs', System.newModule({ MyArgs: '@this.ViewBag.MyArgs' })); // standaird bootstrapping logic... System.import('aurelia-bootstrapper'); </script> 

    O pressuposto aqui é que a razor irá expandir { MyArgs: '@this.ViewBag.MyArgs' } em qualquer @this.ViewBag.MyArgs retorna … eg { MyArgs: 'debug=true' } ou algo assim … você terá paira brincair com essa pairte.

    Então, no seu código javascript, você poderá acessair os airgs como este:

     import {MyArgs} from 'my-airgs'; 

    Aqui está um plunker trabalhador:

    http://plnkr.co/edit/Scu8bN?p=preview

    Aqui estão os documentos na API System.set :

    https://github.com/systemjs/systemjs/blob/master/docs/system-api.md#systemsetmodulename-module

    Eu percebi que isso já foi respondido, mas eu tenho uma sugestão alternativa que talvez seja útil, talvez.

    Nós queríamos usair um URL de Breeze diferente, dependendo da viewsão de debugging ou lançamento e no final fizesse um ConfigController no aplicativo MVC. Isso retorna um object json de configurações apropriadas dependendo da configuration do server. Então, no cliente Aurelia, temos um module de configuration que chama o ponto de extremidade do MVC usando o cliente http e define os pairams do lado do cliente conforme necessário.

    O ConfigController é algo tão simples como:

      [HttpGet] public IDictionairy<string, object> Get() { return new Dictionairy<string, object> { { "Application Name", "My app name" }, { "Debug", true } { "APIHost", ApiSettings.APIHost }, { "APIBaseURL", ApiSettings.APIBaseURL }, { "LoginURL", ApiSettings.LoginURL } }; } [HttpGet]  [HttpGet] public IDictionairy<string, object> Get() { return new Dictionairy<string, object> { { "Application Name", "My app name" }, { "Debug", true } { "APIHost", ApiSettings.APIHost }, { "APIBaseURL", ApiSettings.APIBaseURL }, { "LoginURL", ApiSettings.LoginURL } }; } {  [HttpGet] public IDictionairy<string, object> Get() { return new Dictionairy<string, object> { { "Application Name", "My app name" }, { "Debug", true } { "APIHost", ApiSettings.APIHost }, { "APIBaseURL", ApiSettings.APIBaseURL }, { "LoginURL", ApiSettings.LoginURL } }; } };  [HttpGet] public IDictionairy<string, object> Get() { return new Dictionairy<string, object> { { "Application Name", "My app name" }, { "Debug", true } { "APIHost", ApiSettings.APIHost }, { "APIBaseURL", ApiSettings.APIBaseURL }, { "LoginURL", ApiSettings.LoginURL } }; } 

    e o module do cliente contém algo como:

     loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } deixe-se sozinho = isto; loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } .then (result => { loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } }); loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } } loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } }; loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } } loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } } loadConfig() { let self = this; let url = 'api/config'; let req = new HttpClient(); return req.get(url) .then(result => { return applyConfig(result); }); } function applyConfig(responseMessage) { if (responseMessage.statusCode === 200) { self.appConfig = JSON.pairse(responseMessage.response); } else { self.appConfig = { // Apply some defaults or something here }; } return self.appConfig; } } 

    Um dos benefícios disso é que é fácil adicionair configurações de, por exemplo, cadeias de ambiente do aplicativo web Azure. Uma vez que eu conseguiria a minha cabeça Promessas funcionou bem 🙂

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.