Extract React libraries to a separate chunk and expose them globally [PREMIUM-2]
This commit is contained in:
@@ -2,7 +2,8 @@ var webpack = require('webpack'),
|
||||
_ = require('underscore'),
|
||||
path = require('path'),
|
||||
baseConfig = {},
|
||||
config = [];
|
||||
config = [],
|
||||
globalPrefix = 'MailPoetLib';
|
||||
|
||||
baseConfig = {
|
||||
context: __dirname,
|
||||
@@ -60,9 +61,17 @@ baseConfig = {
|
||||
include: require.resolve('underscore'),
|
||||
loader: 'expose-loader?_',
|
||||
},
|
||||
{
|
||||
include: require.resolve('react'),
|
||||
loader: 'expose-loader?' + globalPrefix + '.React',
|
||||
},
|
||||
{
|
||||
include: require.resolve('react-string-replace'),
|
||||
loader: 'expose-loader?' + globalPrefix + '.ReactStringReplace',
|
||||
},
|
||||
{
|
||||
test: /wp-js-hooks/i,
|
||||
loader: 'exports-loader?window.wp.hooks',
|
||||
loader: 'expose-loader?' + globalPrefix + '.Hooks!exports-loader?wp.hooks',
|
||||
},
|
||||
{
|
||||
include: /Blob.js$/,
|
||||
@@ -111,6 +120,12 @@ config.push(_.extend({}, baseConfig, {
|
||||
'jquery.serialize_object',
|
||||
'parsleyjs'
|
||||
],
|
||||
admin_vendor: [
|
||||
'react',
|
||||
'react-dom',
|
||||
'react-router',
|
||||
'react-string-replace'
|
||||
],
|
||||
admin: [
|
||||
'subscribers/subscribers.jsx',
|
||||
'newsletters/newsletters.jsx',
|
||||
@@ -172,6 +187,7 @@ config.push(_.extend({}, baseConfig, {
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new webpack.optimize.CommonsChunkPlugin('admin_vendor', 'admin_vendor.js', ['admin_vendor', 'admin']),
|
||||
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
|
||||
],
|
||||
externals: {
|
||||
|
Reference in New Issue
Block a user