Rumah > Artikel > hujung hadapan web > bertindak balas hampir menyokong ie8
In react, versi tertinggi yang menyokong ie8 ialah versi "react@0.14" Mana-mana versi yang lebih tinggi daripada ini tidak serasi dengan ie8; anda boleh menambah "es5-shim" pada fail "index.html". Kaedah .js" dan "es5-sham.js" menjadikan tindak balas serasi dengan ie8.
Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.
Dalam maklumat rasmi yang dikeluarkan oleh react, versi tertinggi yang menyokong IE8 ialah react@0.14 versi.
Jika kami lebih tinggi daripada versi ini, akan ada beberapa masalah, dan ia tidak serasi dengan versi kami, jadi apabila kami menggunakannya, kami perlu mengesahkan sama ada versi react yang kami gunakan lebih besar daripada react0 .14,
Sudah tentu, kaedah rasmi juga menyediakan kaedah yang serasi, iaitu menambah dua fail es5-shim.js dan es5-sham.js pada fail index.html kami,
Dan kami juga perlu memastikan bahawa versi jQuery yang digunakan tidak lebih besar daripada jQuery2.0, kerana jQuery2.0 dan ke atas tidak disokong dalam IE8. Jika anda menggunakan rangka kerja bootstrap, versi jQuery kami mestilah sekurang-kurangnya jQuery 1.9 atau lebih tinggi.
react ialah perpustakaan JavaScript yang dilancarkan oleh Facebook untuk membina antara muka pengguna. React digunakan terutamanya untuk membina UI Ramai orang menganggap React sebagai V (pandangan) dalam MVC. React mempunyai prestasi tinggi dan logik kod yang sangat mudah Semakin ramai orang mula memberi perhatian dan menggunakannya.
ReactJS ialah satu set perpustakaan web JavaScript yang dibina oleh Facebook dan digunakan terutamanya untuk membina antara muka pengguna berprestasi tinggi dan responsif. React menyelesaikan masalah biasa yang dihadapi oleh rangka kerja JavaScript lain, iaitu pemprosesan set data yang besar. Dapat menggunakan DOM maya dan menggunakan mekanisme pemasangan tampalan untuk memaparkan semula hanya bahagian kotor DOM apabila perubahan berlaku, React dapat mencapai prestasi yang lebih pantas daripada rangka kerja lain.
Meluaskan pengetahuan:
Mencari cara untuk menjadikan React serasi dengan IE8 di Internet, saya juga menemui banyak projek untuk menjadikannya serasi, dan semua pengubahsuaian berjaya, tetapi saya mengikut arahan mereka Apabila saya mengubah suai kaedah untuk mengubah suai rangka kerja saya, saya masih mendapati bahawa banyak butiran berbeza daripada mereka. Berikut ialah ringkasan pengubahsuaian:
1. Menurut pengumuman rasmi Weibo, versi tertinggi yang menyokong IE8 ialah react@0.14 Jika ia lebih tinggi daripada versi ini, ia tidak serasi dengan IE8, jadi anda perlu pastikan anda menggunakan Versi react tidak lebih tinggi daripada 0.14. Menurut kenyataan rasmi, kaedah yang serasi hanya perlu memperkenalkan dua fail es5-shim.js dan es5-sham.js (boleh dimuat turun melalui carian Baidu) dalam index.html Kedua-dua fail ini adalah sintaks es5 yang diubah suai adalah polyfill serasi dengan sintaks es3, tetapi selepas kedua-dua fail ini sebenarnya ditambahkan pada projek, beberapa ralat masih akan dilaporkan.
2. Pastikan versi Jquery yang anda gunakan ialah versi 1.x.x IE8 tidak menyokong versi Juqery2.x. Jika anda menggunakan rangka kerja BootStrap, versi Jquery minimum yang diperlukan oleh rangka kerja ini ialah 1.9 atau lebih tinggi.
3. Untuk dua rangka kerja yang lain, saya menggunakan "react-redux": "^4.4.1", "react-router": "^1.0.3".
4. Anda perlu menambah pakej kebergantungan berikut ke package.json:
"console-polyfill": "^0.2.2", "es5-shim": "^4.4.1", "eventsource-polyfill": "^0.9.6", "fetch-ie8": "^1.4.0", "babel-polyfill": "^6.7.4",
Selepas menambah pakej kebergantungan di atas, letakkan di atas di pintu masuk program bahagian hadapan anda Beberapa pakej pemasangan diperkenalkan ke dalam program:
require('es5-shim');require('es5-shim/es5-sham');require('console-polyfill');require('fetch - ie8');require('babel-polyfill');
5. Selepas melengkapkan langkah di atas, ie8 masih akan melaporkan ralat, terutamanya ralat yang berkaitan dengan fungsi Object.defineProperty. Pada masa ini, langkah penting diperlukan untuk menambah
"es3ify-loader": "^0.2.0",
pada package.json Ini ialah pakej yang menukar sintaks es5 dan es6 kepada sintaks es3. Pakej ini tidak perlu dimasukkan ke dalam program dalam kod. Selepas APP.js kami dibungkus, kami menggunakan pemuat ini untuk membungkusnya semula app.js saya dibungkus dengan gulp, tetapi es3ify-loader hanya boleh dipanggil dengan alat pembungkusan webpack
, jadi anda perlu memasang webpack dalam direktori projek dan masukkan arahan: npm install -g webpack. Pada masa yang sama, buat webpack.config.js dalam direktori Kandungan di dalamnya ialah:
var webpack = require('webpack'); module.exports = { //页面入口文件配置,这里是用gulp打包出来的app.js entry: { index : './build/app.js' }, //入口文件输出配置,这里需要设置对app.js打包后得到的文件名称 output: { path: './', filename: 'bundle.js' }, module: { //加载器配置,这里使用es3ify-loader对app.js进行再次打包; loaders: [ { test: /\.js?$/, loaders: ['es3ify-loader'], }, ] }, };
Selepas langkah di atas selesai, masukkan arahan dalam direktori projek: webpack akan memulakan pembungkusan secara automatik. Selepas pembungkusan, direktori tahap semasa akan Generate bundle.js;
6. Selepas melengkapkan langkah di atas, pengubahsuaian keserasian rangka kerja React Redux Ruoter di bawah IE8 selesai. Ini adalah proses pengubahsuaian lengkap saya Selepas pengubahsuaian selesai, program berjalan lancar di bawah IE8 Memandangkan keseluruhan bahagian hadapan ditulis sebagai aplikasi satu halaman, penyegaran penukaran halaman masih agak perlahan di bawah IE8.
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci bertindak balas hampir menyokong ie8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!