mirror of
				https://github.com/fspc/workstand.git
				synced 2025-11-03 16:45:34 -05:00 
			
		
		
		
	Enable HMR.
This commit is contained in:
		
							parent
							
								
									dfa89f1900
								
							
						
					
					
						commit
						ce64d08619
					
				
							
								
								
									
										16
									
								
								bikeshop_project/server.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								bikeshop_project/server.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
var webpack = require('webpack')
 | 
			
		||||
var WebpackDevServer = require('webpack-dev-server')
 | 
			
		||||
var config = require('./webpack.dev.config')
 | 
			
		||||
 | 
			
		||||
new WebpackDevServer(webpack(config), {
 | 
			
		||||
  publicPath: config.output.publicPath,
 | 
			
		||||
  hot: true,
 | 
			
		||||
  inline: true,
 | 
			
		||||
  historyApiFallback: true
 | 
			
		||||
}).listen(3000, '0.0.0.0', function (err, result) {
 | 
			
		||||
  if (err) {
 | 
			
		||||
    console.log(err)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  console.log('Listening at 0.0.0.0:3000')
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										36
									
								
								bikeshop_project/webpack.base.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								bikeshop_project/webpack.base.config.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
var path = require("path")
 | 
			
		||||
var webpack = require('webpack')
 | 
			
		||||
var BundleTracker = require('webpack-bundle-tracker')
 | 
			
		||||
 | 
			
		||||
const autoprefixer = require('autoprefixer');
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
    context: __dirname,
 | 
			
		||||
 | 
			
		||||
    entry: './assets/js/index',
 | 
			
		||||
 | 
			
		||||
    output: {
 | 
			
		||||
        path: path.resolve('./assets/bundles/'),
 | 
			
		||||
        filename: "[name]-[hash].js"
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    plugins: [
 | 
			
		||||
        
 | 
			
		||||
    ], // add all common plugins here
 | 
			
		||||
 | 
			
		||||
    module: {
 | 
			
		||||
        loaders: [
 | 
			
		||||
            
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    resolve: {
 | 
			
		||||
        modulesDirectories: [
 | 
			
		||||
            'node_modules',
 | 
			
		||||
            'bower_components',
 | 
			
		||||
            path.resolve(__dirname, './node_modules')
 | 
			
		||||
        ],
 | 
			
		||||
        extensions: ['', '.js', '.jsx', '.scss']
 | 
			
		||||
    },
 | 
			
		||||
    postcss: [autoprefixer]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								bikeshop_project/webpack.dev.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								bikeshop_project/webpack.dev.config.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
			
		||||
var path = require("path")
 | 
			
		||||
var webpack = require('webpack')
 | 
			
		||||
var BundleTracker = require('webpack-bundle-tracker')
 | 
			
		||||
const ExtractTextPlugin = require('extract-text-webpack-plugin');
 | 
			
		||||
 | 
			
		||||
var config = require('./webpack.base.config.js')
 | 
			
		||||
 | 
			
		||||
// Use webpack dev server
 | 
			
		||||
config.entry = [
 | 
			
		||||
    'webpack-dev-server/client?http://localhost:3000',
 | 
			
		||||
    'webpack/hot/only-dev-server',
 | 
			
		||||
    './assets/js/index'
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
// override django's STATIC_URL for webpack bundles
 | 
			
		||||
config.output.publicPath = 'http://localhost:3000/assets/bundles/'
 | 
			
		||||
 | 
			
		||||
// Add HotModuleReplacementPlugin and BundleTracker plugins
 | 
			
		||||
config.plugins = config.plugins.concat([
 | 
			
		||||
    new webpack.HotModuleReplacementPlugin(),
 | 
			
		||||
    new webpack.NoErrorsPlugin(),
 | 
			
		||||
    new BundleTracker({filename: './webpack-stats.json'}),
 | 
			
		||||
    new ExtractTextPlugin('react-toolbox.css', {allChunks: true}),
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
// Add a loader for JSX files with react-hot enabled
 | 
			
		||||
config.module.loaders.push(
 | 
			
		||||
    {
 | 
			
		||||
        test: /\.jsx?$/,
 | 
			
		||||
        exclude: /node_modules/,
 | 
			
		||||
        loader: 'babel-loader',
 | 
			
		||||
        query: {
 | 
			
		||||
            presets: ['es2015', 'stage-0', 'react']
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        test: /(\.scss|\.css)$/,
 | 
			
		||||
        loader: ExtractTextPlugin.extract('style', 'css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss!sass?sourceMap!toolbox')
 | 
			
		||||
    }
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
module.exports = config
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user