@tsukasa_mixer

Сборка статики в WEBPACK. Правильный конфиг?

Вопрос.
Требуется собрать Статику JS\SCSS\CSS минимизировать почистить и сложить в папку в JS зочется ES6 т.е. Babel
Не получается корректно настроить WEBPACK.
Помимо указанного модуля почему-то дополнительно собирает файл на 2мб с по моему, всей папкой node_modules (логично что в исключения добавлена)

+ непонятно как организовать сборку SCSS так что-бы просто ее преобразовать в CSS и положить куда следует.

{
		context: __dirname + '/src',
		node: {
			fs: "empty"
		},
		entry: {
			app: './jsx/app.jsx'
		},
		output: {
			filename: '/js/[name].js',
			path: './dist'
		},
		modulesDirectories: ['node_modules'],
		resolve: {
			extensions: ['', '.js', '.jsx']
		},
		module: {
			loaders: [
				{
					test: /\.(js|jsx)?$/,
					exclude: ['node_modules'],
					loader: "babel-loader",
					query: {
						presets: ['es2015']
					}
				},
				{
					test: /\.json?$/,
					exclude: ['node_modules'],
					loader: "json-loader"
				}
			]
		},
		plugins: [
			new CleanWebpackPlugin([ 'dist/js' ], {
				root: __dirname,
				verbose: true,
				dry: false
			})
		]
	}


Asset     Size  Chunks             Chunk Names
     /js/app.js   226 kB       0  [emitted]  app
    /js/main.js  1.65 MB       1  [emitted]  main
  • Вопрос задан
  • 757 просмотров
Пригласить эксперта
Ответы на вопрос 1
akzhan
@akzhan
Кусочек рабочего конфига

{
  resolve: {
    modulesDirectories: [
      'node_modules',
      'src'
    ],
    root: [],
    extensions: ['', '.js', '.pug'],
    alias: {
      underscore: path.join(__dirname, 'node_modules/lodash/index')
    }
  },

  module: {

    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel',
        query: {
          presets: ['es2015', 'stage-0']
        }
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'eslint'
      },
      {
        test: /\.json$/,
        exclude: /node_modules/,
        loader: 'json'
      },
      {
        test: /\.pug$/,
        loader: 'pug?root=templates'
      },
      {
        test: /\.html$/,
        loader: 'underscore-template-loader',
        query: {
          engine: 'lodash'
        }
      },
      {
        test: /\.less$/,
        loader: ExtractTextPlugin.extract(cssConfig())
      },
      {
        test: /\.(svg|png|jpg)$/,
        exclude: /fonts/,
        loader: `file?name=${config.get('pattern.file')}`
      },
      {
        test: /fonts/,
        exclude: /node_modules/,
        loader: `file?name=${config.get('pattern.font')}`
      }
    ]
  },
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы