html2canvas выдает синтаксическую ошибку, используя функции обещания в ie11 [duplicate]

Предполагается, что launchSettings.json используется IDE (например, Visual Studio), когда вы нажмете F5 / Ctr + F5 и предложите варианты из раскрывающегося меню рядом с кнопкой запуска.

Также вы не должны напрямую редактировать этот файл launcherSettings.json и вместо этого использовать Свойства проекта для изменения материала.

Одна из причин этого заключается в том, что если вы измените ее с помощью свойств проекта, Visual Studio также отредактирует файлы IIS Express (расположенные в папке .vs/config/applicationhost.config вашего решения).

Если вы хотите изменить использование кешлеров порта, используйте .UseUrls("http://0.0.0.0:4000") (получите его либо из appsettings.json, либо hosting.json) в Program.cs.

Если вы не хотите использовать hardcoded, вы также можете сделать что-то вроде этого

Создать hosting.json:

{
  "server": "Microsoft.AspNetCore.Server.Kestrel",
  "server.urls": "http://localhost:4000"
}

Program.cs

public class Program
{
    public static void Main(string[] args)
    {
        var config = new ConfigurationBuilder()
            .AddJsonFile("hosting.json", optional: false)
            .AddEnvironmentVariables(prefix: "ASPNETCORE_")
            .Build();

        var host = new WebHostBuilder()
            .UseConfiguration(config)
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup()
            .Build();

        host.Run();
    }
}

Вы также можете сделать это через командную строку (AddCommandLine вызов здесь очень важен, из пакета Microsoft.Extensions.Configuration.CommandLine").

var config = new ConfigurationBuilder()
    .AddCommandLine(args)
    .Build();

var host = new WebHostBuilder()
    .UseConfiguration(config)
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseIISIntegration()
    .UseStartup()
    .Build();

host.Run();

Затем запустите его через dotnet run server.urls=http://0.0.0.0:4000.

Когда вы запустите IIS / IISExpress, порт kestrel будет определен UseIISIntegration().

23
задан Liam 24 October 2016 в 10:29
поделиться

2 ответа

Вы используете функции стрелок. IE11 не поддерживает их. Вместо этого используйте функции function.

Здесь перевод Бабеля на ES5:

g.selectAll(".mainBars").append("text").attr("x", function (d) {
  return d.part == "primary" ? -40 : 40;
}).attr("y", function (d) {
  return +6;
}).text(function (d) {
  return d.key;
}).attr("text-anchor", function (d) {
  return d.part == "primary" ? "end" : "start";
});
34
ответ дан T.J. Crowder 19 August 2018 в 18:56
поделиться
  • 1
    не забывайте о this: var f = (a) => {a.some1(); this.some2();}; - var f = function(a) {a.some1(); this.some2();}.bind(this); – user1742529 27 June 2018 в 09:50

Избегайте использования функций стрелок, если вам нужно поддерживать IE 11 как , он не поддерживается

Измените их на обычные функции, и ваш код должен работать так, как вы ожидаете

g.selectAll(".mainBars").append("text").attr("x",function(d) { 
  return d.part=="primary"? -40: 40;
}).attr("y",function(d){
  return +6;
}).text(function(d) { 
  return d.key;
}).attr("text-anchor", function(d) { 
  return d.part=="primary"? "end": "start";
});
10
ответ дан Felipe Sabino 19 August 2018 в 18:56
поделиться
Другие вопросы по тегам:

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