webpackでモジュール間で共通変数を持ちたい
2020/05/10追記
うまくいかず、、
hoge.jsでの変更が huga.jsに反映されませんでした。
定数の扱いになってしまうみたいで、
huga.jsの glogals.a は、10のまま。。
これを試しても、やはり同じ感じです。
https://webpack.js.org/plugins/provide-plugin/
webpackの仕様が変わったのか。
とりあえず、windowオブジェクトに名前空間用意するしかないかなぁ。。
誰か知っているかた、おしえてください!
jsファイル間で変数を共有したい時
その昔は、、、
(function(){}(
window.common = {
a:10,
b:12
}
))();
(function(){}(
window.common = window.common || {}
window.common.a++;
console.log(window.common.a); // 11
))();
(function(){}(
window.common = window.common || {}
window.common.a++;
console.log(window.common.a); // 12
))();
<html>
<title>バンドルツール出る前の旧石器時代</title>
<head>
</head>
<body>
<script src="./globals.js">
<script src="./a.js">
<script src="./b.js">
</body>
こんなことしてた
webpack使った時
同じ事したい時、どうすればいいのか。
この記事を見て、実験してみたらうまいこといった。
ES6 Modules 間では export/import された変数(?)は同期される
export default {
a:10,
b:15
};
import globals from './globals';
console.log(globals.a) // 10
globals.a++;
console.log(globals.a) // 11
import globals from './globals';
console.log(globals.a) // 11
この方法は正しいのだろうか。
他にも色々ありそう。
https://stackoverflow.com/questions/37656592/define-global-variable-with-webpack
Author And Source
この問題について(webpackでモジュール間で共通変数を持ちたい), 我々は、より多くの情報をここで見つけました https://qiita.com/resistance_gowy/items/aaeb7d19abdbf859cabd著者帰属:元の著者の情報は、元の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 .