Signature_pad: IE11 рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдирд╡ре░ 2018  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: szimek/signature_pad

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдХреАрдбрд╝рд╛

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдореИрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ "рд╣рд╕реНрддрд╛рдХреНрд╖рд░_рдкреИрдб": "^3.0.0-рдмреАрдЯрд╛.3" angular6 рдореЗрдВ package.json рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдпрд╣ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди IE11 рдкрд░ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓реЛрдб рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред

image

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд╡рд░рдг рдХреЗ "рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕" рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
рд╕реЗ рдмрджрд▓реЗрдВ:
import SignaturePad from 'signature_pad';
рдкреНрд░рддрд┐:
import * as SignaturePad from 'signature_pad/dist/signature_pad';

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдПрдВрдЧреБрд▓рд░ 6 рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрд╕реА рдмреИрдмреЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рд╡реЗрдмрдкреИрдХ resolve.alias рд╕реБрд╡рд┐рдзрд╛ (рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП:

module.exports = {
  //...
  resolve: {
    alias: {
      signature_pad: 'signature_pad/dist/signature_pad.js'
    }
  }
};

рдЖрдкрдХреЗ рддреНрд╡рд░рд┐рдд рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдЗрд╕реЗ рдПрдХ рдореМрдХрд╛ рдФрд░ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдмреЗрдмреЗрд▓ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рднреА рдЖрдЬрд╝рдорд╛рдКрдБрдЧрд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
рд╕реЗ рдмрджрд▓реЗрдВ:
import SignaturePad from 'signature_pad';
рдкреНрд░рддрд┐:
import * as SignaturePad from 'signature_pad/dist/signature_pad';

рдлрд╝рдВрдХреНрд╢рди рдбрд╛рдЙрдирд▓реЛрдб (рдбреЗрдЯрд╛рдпреВрдЖрд░рдПрд▓, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо) {
рдЕрдЧрд░ (navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") === -1) {
window.open(dataURL);
}
### // app.js рдкрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдЬреЛрдбрд╝реЗрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рджреЛ IE 11 рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ
рдФрд░ рдЕрдЧрд░ (window.navigator && window.navigator.msSaveOrOpenBlob) {var blobwin = dataURLToBlob (dataURL);window.navigator.msSaveOrOpenBlob(blobwin, filename);}
рдЕрдиреНрдп {
рд╡рд░ рдмреВрдБрдж = dataURLToBlob (dataURL);
рд╡рд░ url = window.URL.createObjectURL (рдмреВрдБрдж);

var a = document.createElement("a");
a.style = "display: none";
a.href = url;
a.download = filename;

document.body.appendChild(a);
a.click();

window.URL.revokeObjectURL(url);

}
}

@sdqwerty рдХреЗ рдХрд╛рдордХрд╛рдЬ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдореЗрдВ mainFields рдирд╛рдордХ рдПрдХ рдлрд╝реАрд▓реНрдб рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ['browser', 'module', 'main'] рд╣реИред рдпреЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрд░рдо рдореЗрдВ рд╣реИрдВ, рдФрд░ рд╕рд┐рдЧреНрдиреЗрдЪрд░_рдкреИрдб рдореЗрдВ package.json рдореЗрдВ browser рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ .m.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ ES6 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬреИрд╕реЗ рд╡рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ - рдЬреЛ IE11 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@szimek рдореИрдВ рдЖрдкрдХреЛ npm рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП package.json рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:
https://docs.npmjs.com/files/package.json#browser

рдЗрди IE11 рдореБрджреНрджреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

module.exports = {
  resolve: {
    alias: {
      'signature_pad': 'signature_pad/dist/signature_pad' // <- hier without '.js' at the end!
    }
  }
};

рдФрд░ рд▓рд╛рд░рд╡реЗрд▓-рдорд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде:

mix.webpackConfig({
    resolve: {
        alias: {
            'signature_pad': 'signature_pad/dist/signature_pad',
        }
    }
});

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдПрдВрдЧреБрд▓рд░ 6 рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрд╕реА рдмреИрдмреЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред

рдЖрдк рд╡реЗрдмрдкреИрдХ resolve.alias рд╕реБрд╡рд┐рдзрд╛ (рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП:

module.exports = {
  //...
  resolve: {
    alias: {
      signature_pad: 'signature_pad/dist/signature_pad.js'
    }
  }
};

class рдХреАрд╡рд░реНрдб рдХреЗ рдХрд╛рд░рдг v3.0.0-beta.4 рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг IE11 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕