package.json
"devDependencies": {
"autoprefixer": "^6.1.2",
"babel": "^6.3.13",
"babel-core": "^6.3.13",
"babel-loader": "^6.2.0",
"babel-plugin-react-transform": "^1.1.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-stage-0": "^6.3.13",
"css-loader": "^0.23.0",
"extract-text-webpack-plugin": "^0.9.1",
"node-sass": "^3.4.2",
"postcss-loader": "^0.8.0",
"react": "^0.14.3",
"react-dom": "^0.14.3",
"react-transform-hmr": "^1.0.1",
"sass-loader": "^3.1.2",
"style-loader": "^0.13.0",
"toolbox-loader": "0.0.3",
"webpack": "^1.12.9",
"webpack-dev-middleware": "^1.4.0",
"webpack-hot-middleware": "^2.6.0"
}
webpack.config.js
var path = require('path');
var webpack = require('webpack');
var autoprefixer = require('autoprefixer');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
context: __dirname,
devtool: 'eval',
entry: [
'webpack-hot-middleware/client',
'./public/src/index.jsx'
],
output: {
path: path.join(__dirname, 'public/dist'),
filename: 'index.js',
publicPath: '/dist/'
},
resolve: {
extensions: ['', '.jsx', '.scss', '.js', '.json']
},
resolveLoader: { root: path.join(__dirname, "node_modules") },
module: {
loaders: [
{
test: /(\.js|\.jsx)$/,
exclude: /(node_modules)/,
loader: 'babel',
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')
}
]
},
postcss: [autoprefixer],
plugins: [
new ExtractTextPlugin('main.css', { allChunks: true }),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development'),
VERSION: '1.0.0'
})
]
}
app.js
var webpack = require('webpack');
var webpackConfig = require('./webpack.config');
var compiler = webpack(webpackConfig);
app.use(require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
stats: {
colors: true
}
}));
app.use(require('webpack-hot-middleware')(compiler));
Comments(0)