Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- module.exports = {
- context: __dirname + '/frontend',
- entry: './home',
- output: {
- path: __dirname + '/public/',
- filename: 'home.js'
- },
- // externals - когда подключаем внешний модуль (например из cdn) то с помощью этой настройки можно этот модуль положить в какую-нибудь переменную
- //или использовать ProvidePlugin
- externals: [{
- a: false, // a is not external
- b: true, // b is external (require("b"))
- "./c": "c", // "./c" is external (require("c"))
- "./d": "var d" // "./d" is external (d)
- },
- // Every non-relative module is external
- // abc -> require("abc")
- /^[a-z\-0-9]+$/,
- function(context, request, callback) {
- // Every module prefixed with "global-" becomes external
- // "global-abc" -> abc
- if (/^global-/.test(request))
- return callback(null, "var " + request.substr(7));
- callback();
- },
- "./e" // "./e" is external (require("./e"))
- ],
- plugins: [
- //
- /*ProvidePlugin -
- чтобы не писать такой длинный путь для подключения модуля используется этот плагин
- const pluck = require('lodash/collection/pluck');
- console.log( pluck(users, 'name') );
- Этот плагин анализирует код и если находит не объявленную переменную в данном случае pluck
- он дописывает (переписывает) lodash/collection/pluck
- НО ДЕЛАЕТ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
- */
- new webpack.ProvidePlugin({
- pluck: 'lodash/collection/pluck',
- _: 'lodash'
- })
- ],
- module: {
- loaders: [{
- test: /old.js$/,
- loader: "script"
- }],
- //noParse - не анализировать этот файл (путь). ПРИМЕНЯТЬ только если уверены что в этом файле (пути) нет import-ов других модулей
- //нельзя писать node-module т.к. вырежет даже бабел
- noParse: /angular\/angular.js/,
- },
- noParse: /\/node_module\/(angular\/angular|jquery|\/...)/, //как вариант. Но использовать осторожно
- //лоадеры для экспорта и импорта переменных из старых скриптов (export). Еще смотреть expose и script лоадер
- loaders: [{
- test: /old.js$/,
- loader: "imports?workSettings=>{delay:500}!exports?Work"
- },
- resolve: {
- root: __dirname + '/vendor',
- alias: {
- old: 'old/dist/old'
- }
- }
- ]
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement