GitHubのリポジトリにあるソースを参考にして、
別のプロジェクトに組み込もうとかした時に、
ちょっと昔のソースだと即時関数的に↓の感じのコードになってる場合。
(function(root,factory){ //code }(this,function(){ //code }));
bable7以上だと、引数のthisがundefinedになって動かなくなる。
で、色々対応方法調べてみたら、下のがとりあえずの回避方法。
.babelrcの中に下の感じで対象のjsファイルを書く。
module.exports = { overrides: [ { test: "./src/utils/hoge.js", sourceType: "script" }, { test: "./src/utils/fuga.js", sourceType: "script" } ] };
デフォだとmoduleとして読み込んでるみたいで、export defaultで定義しておかないとダメになるって事なんかな?で、それをmoduleじゃなくてscriptファイルとして読み込めっていう設定なのかしら。いまいち分かってない。
本来はソースをexport default的なやつに直した方がいいんじゃないかと思う。今時の作り方で言えば、即時関数自体やめた方がよいのかしらね。
Vueで「babel.config.js」使ってる場合も同様に下の感じで書く。
module.exports = { presets: ["@vue/app"], overrides: [ { test: "./src/utils/hoge.js", sourceType: "script" }, { test: "./src/utils/fuga.js", sourceType: "script" } ] };