質問見ていただきありがとうございます。
現在WebpackでGSAPをバンドルしようとしてるのですが、
下記のエラーが出てしまいます。
gsap.js:8 Uncaught TypeError: Cannot assign to read only property 'window' of object '#<Window>' at eval (gsap.js:8) at eval (gsap.js:9) at Module../src/gsap.js (main.js:1247) at __webpack_require__ (main.js:727) at fn (main.js:101) at eval (index.js:4) at Module../src/index.js (main.js:1259) at __webpack_require__ (main.js:727) at fn (main.js:101) at eval (webpack:///multi_(:8080/webpack)-dev-server/client?:3:18)
ファイルの中身はこのようになっています。
//index.js import "./style.scss"; import { gsap } from "./gsap"; import { dev } from "./dev"; gsap(); dev();
//gasp.js export const gsap = (function (global, factory) { 中略 Object.defineProperty(exports, '__esModule', { value: true }); }));
//dev.js export function dev(){ window.onload = function(){ gsap.to(".h-tit", {x: 0, duration: 2,ease: Elastic.easeOut}); gsap.to(".h-txt", {opacity: 1,delay: .5 ,duration: 5,ease: Back.easeOut}); } }
試したこと①
最初は原因が分からなかったので、gsap.jsのをsrcからdistに移動して
index.htmlに直接scriptタグを書き込んでみました。
この時はエラーは出ませんでしが、アニメーションは動きませんでした。
<script src="./gsap.js"></script>
試したこと②
次に下記のサイトを参考に
npm install imports-loaderして
下のコードを追加しました。
ですが、一番上のエラー分は無くなりませんでした。
https://code-examples.net/ja/docs/webpack/loaders/imports-loader
//webpack.config.js module.exports = { ... module: { ... rules: [ { test: require.resolve("some-module"), use: "imports-loader?this=>window" } ] } };
二日間ずっと試行錯誤してるのですが、まったく進まず困っております。
ご教授のほど、よろしくお願いいたします。
あなたの回答
tips
プレビュー