Nextjsでレガシーブラウザ対応
概要
- Next.jsを使っているアプリでIE対応しないといけないような場合の対処法
- 公式のexample参考にしています
手順
- next.config.jsに以下の内容を追加
next.config.js
module.exports = {
webpack: function(cfg) {
const originalEntry = cfg.entry;
cfg.entry = async () => {
const entries = await originalEntry();
if (entries['main.js'] && !entries['main.js'].includes('./client/polyfills.js')) {
entries['main.js'].unshift('./client/polyfills.js');
}
return entries;
};
return cfg;
},
};
- polyfillの設定
- exampleでは以下のように個別に設定している
client/polyfills.js
/* eslint no-extend-native: 0 */
// core-js comes with Next.js. So, you can import it like below
import includes from 'core-js/library/fn/string/virtual/includes'
import repeat from 'core-js/library/fn/string/virtual/repeat'
import assign from 'core-js/library/fn/object/assign'
// Add your polyfills
// This files runs at the very beginning (even before React and Next.js core)
console.log('Load your polyfills')
String.prototype.includes = includes
String.prototype.repeat = repeat
Object.assign = assign
- 足りないものを個別に追加していくのが面倒であればcore-jsをまるごとimportしてしまってもいいかも
client/polyfills.js
import 'core-js';
console.log('Load your polyfills');
Author And Source
この問題について(Nextjsでレガシーブラウザ対応), 我々は、より多くの情報をここで見つけました https://qiita.com/ozaki25/items/a7637073e1cd9d3a6a17著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .