Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- /*
- //в модуле пишем, чтобы модуль подгрузился потом
- document.getElementById('loginButton').onclick = function() {
- // ======== Способ 1 (require.ensure) ==
- require.ensure([], function(require) {
- let login = require('./login');
- login();
- }, 'auth'); //auth имя сборки
- };
- document.getElementById('logoutButton').onclick = function() {
- // ======== Способ 1 (require.ensure) ==
- require.ensure([], function(require) {
- let logout = require('./logout');
- logout();
- }, 'auth');
- };
- */
- /*
- //для подключения модуля в зависимости от url
- let moduleName = location.pathname.slice(1);
- let handler;
- try {
- let context = require.context('bundle!./routes/', true, /^\.\// /*фильтр*/
- );
- handler = context('./' + moduleName);
- }
- catch (e) {
- alert("No such path");
- }
- if (handler) {
- handler(function(route) {
- route();
- });
- } *
- /
- const NODE_ENV = process.env.NODE_ENV || 'development';
- const webpack = require('webpack');
- module.exports = {
- context: __dirname + '/frontend',
- entry: {
- app: './app'
- },
- output: {
- path: __dirname + '/public/js',
- publicPath: '/js/', // /js/app.js
- filename: "[name].js"
- },
- plugins: [
- //выкидывает из сборки ненужные сборки. Редко используется.
- new webpack.IgnorePlugin(/\.\/locale/),
- //для объединения кусков модулей в один
- new webpack.optimize.LimitChunkCountPlugin(options),
- //для объединения кусков модулей в один
- new webpack.optimize.MinChunkSizePlugin(options)
- //изменяет контекст.
- //например я использую moment, который подгружает много модулей с языками
- //чтобы подгрузить только нужные модули используется этот плагин. Скринкаст 4.
- new webpack.ContextReplacementPlugin(
- resourceRegExp, [newContentResource], [newContentRecursive], [newContentRegExp])
- ]
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement