Javascript ES6で複数のjsファイルで変数やクラスを定義し、webpackでES5に変換して1つのjsファイルに結合した場合ですが、htmlのscriptタグでその変数やクラスを呼び出す(使う)方法が見つからず、困っています。。
少なくとも、<script src="~" />でインポートしてもグローバル変数(window)には見当たりませんでした。また、modules、exportsのような変数も作られていませんでした。
ES6 + Webpack の実装例を調べてみても、Reactのようにそれ単体で動作する(外部から変数やクラス、メソッドを個別に呼び出して実行するタイプでない)ものばかりで、そのため、基本的にhtmlではjsファイルをインポートするのみで、変数やクラスをscriptタグで呼び出している例が全く見つかりませんでした。
Webpackで結合した場合、各jsファイルで定義した変数やクラスはグローバル変数に出力されず、htmlのscriptタグ等(外部)で呼び出すことはできないのでしょうか。
どなたか、少しでも情報がございましたら、ご回答いただけると大変助かります。
何卒、よろしくお願いいたします。
src/TestUtils.js
js
1export default class TestUtils { 2 3}
src/Test.js
js
1import ImageUtils from 'TestUtils' 2 3export default class Test { 4 5}
gulpfile.js(一部)
js
1const gulp = require('gulp'), 2 gulp_webpack = require('gulp-webpack'); 3 4gulp.task("js", () => { 5 return gulp.src('src/**/*.js') 6 .pipe(gulp_webpack({ 7 watch: true, 8 output: { filename: 'test.js' }, 9 module: { 10 loaders: [ 11 { 12 test: /.js$/, 13 exclude: /node_modules/, 14 loader: 'babel-loader', 15 query: { presets: ['es2015'] } 16 } 17 ] 18 } 19 })) 20 .pipe(gulp.dest('')); 21});
index.html
html
1<script src="test.js"></script> 2<script> 3 // <![CDATA[ 4 new Test(); 5 // ]]> 6</script>
期待する動作
上記で、index.htmlからTestクラスを呼び出せること
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/25 04:42