###前提・実現したいこと
最近Webpackに関して立て続けに質問させていただいております_(..)
Backbone.jsやBootstrapを使って開発を行っているのですが、BackboneやBootstrapは基本的にほとんどのページで使用するためvendor.jsなどとしてまとめたいと考えました。
そこで以下の記事を参考にコードを記述してみました。
###webpack.config.js
javascript
1var webpack = require('webpack'); 2 3module.exports = { 4 entry: { 5 vendor: ['jquery', 'underscore', 'backbone', 'bootstrap'], 6 app: './src/script/app.js' 7 }, 8 output: { 9 path: __dirname + '/dist', 10 filename: '[name].js' 11 }, 12 module: { 13 loaders: [ 14 { test: /\.html$/, loader: 'html-loader' }, 15 { test: /\.css$/, loader: 'style-loader!css-loader' }, 16 { test: /\.svg$/, loader: 'url-loader?mimetype=image/svg+xml' }, 17 { test: /\.woff$/, loader: 'url-loader?mimetype=application/font-woff' }, 18 { test: /\.woff2$/, loader: 'url-loader?mimetype=application/font-woff' }, 19 { test: /\.eot$/, loader: 'url-loader?mimetype=application/font-woff' }, 20 { test: /\.ttf$/, loader: 'url-loader?mimetype=application/font-woff' }, 21 { test: /\.png$/, loader: 'url-loader?mimetype=image/png' } 22 ] 23 }, 24 plugins: [ 25 new webpack.optimize.CommonsChunkPlugin({ 26 name: 'vendor', 27 filename: "vendor.js", 28 minChunks: Infinity 29 }), 30 new webpack.ProvidePlugin({ 31 jQuery: "jquery", 32 $: "jquery", 33 _: "underscore", 34 Backbone: "backbone" 35 }), 36 new webpack.optimize.UglifyJsPlugin({ 37 compress: { 38 warnings: false 39 } 40 }) 41 ], 42 devtool: 'source-map', 43}; 44
###head内での読み込み部分
html
1<script type="text/javascript" src="dist/vendor.js"></script> 2<script type="text/javascript" src="dist/app.js"></script>
そしてブラウザで表示内容を確認してみたのですが、うまく表示されませんでした。
Bootstrapが効いていないという感じです。
###補足情報
ちなみに、以下のような方法をとり、Bootstrapの読み込みだけエントリポイントをわけたところ、もちろんうまく挙動しました。
###webpack.config.js
javascript
1var webpack = require('webpack'); 2 3module.exports = { 4 entry: { 5 vendor: ['jquery', 'underscore', 'backbone'], 6 common: './src/script/common.js', 7 app: './src/script/app.js' 8 }, 9 10 //以下略 11}; 12
###common.js
javascript
1require('bootstrap/dist/css/bootstrap.min.css'); 2require('bootstrap/dist/js/bootstrap.min.js');
###head内での読み込み部分
html
1<script type="text/javascript" src="dist/vendor.js"></script> 2<script type="text/javascript" src="dist/common.js"></script> 3<script type="text/javascript" src="dist/app.js"></script>
出来れば最初のような方式で、Backbone, Bootstrapは一つにまとめて共通化したいのですが、何が問題なのでしょうか?
Webpackに関して立て続けの質問になってしまっていますが、ご回答いただけると助かります_(..)
###追記
参考記事が抜けていました。すみません。
webpackのCommonsChunkPluginの使い方、使い所
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。