Пример #1
0
const webpack = require("webpack");
const path = require("path");
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const cssLoaderConfig = 'modules&importLoaders=1&localIdentName=[name]-[local]-[hash:base64:5]!postcss';
const webpackPostcssTools = require('webpack-postcss-tools');
const map = webpackPostcssTools.makeVarMap('src/global/main.css');

module.exports = {
	target:  "web",
	cache:   false,
	context: __dirname,
	debug:   false,
	devtool: false,
	entry:   ["../src/client"],
	output:  {
		path:          path.join(__dirname, "../static/dist"),
		filename:      "client.js",
		chunkFilename: "[name].[id].js",
		publicPath: '/dist/'
	},
	plugins: [
		new webpack.DefinePlugin({__CLIENT__: true, __SERVER__: false, __PRODUCTION__: true, __DEV__: false}),
		new webpack.DefinePlugin({"process.env": {NODE_ENV: '"production"'}}),
		new webpack.optimize.DedupePlugin(),
		new webpack.optimize.OccurenceOrderPlugin(),
		new webpack.optimize.UglifyJsPlugin({compress: {warnings: false}}),
		new ExtractTextPlugin('app.css', {allChunks: true}),
	],
	module:  {
		loaders: [
			{
'use strict';

var webpack = require('webpack');

var postcssTools = require('webpack-postcss-tools');
var varMap = postcssTools.makeVarMap('src/css/styles.css');

module.exports = {
  target: 'web',
  entry: './src/app.js',
  output: {
    path: './dist/js',
    pathInfo: true,
    publicPath: './js/',
    filename: 'main.js',
    css: 'style.css'
  },
  module: {
    preLoaders: [
      {test: /\.jsx?$/, loader: 'eslint-loader', exclude: /node_modules/}
    ],
    loaders: [
      {test: /\.png$/, loader: 'url?mimetype=image/png&limit=10000&'},
      {test: /\.gif$/, loader: 'url?mimetype=image/gif&limit=10000&'},
      {test: /\.jpe?g$/, loader: 'url?mimetype=image/jpeg&limit=10000&'},
      {test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'url?limit=10000&minetype=application/font-woff'},
      {test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: 'file'},
      {test: /\.less$/,loader: "style!css!less"}
    ],
    noParse: /\.min\.js/
  },