Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. 'use strict';
  2.  
  3. module.exports = {
  4. context: __dirname + '/frontend',
  5. entry: './home',
  6.  
  7. output: {
  8. path: __dirname + '/public/',
  9. filename: 'home.js'
  10. },
  11.  
  12.  
  13.  
  14. // externals - когда подключаем внешний модуль (например из cdn) то с помощью этой настройки можно этот модуль положить в какую-нибудь переменную
  15. //или использовать ProvidePlugin
  16. externals: [{
  17. a: false, // a is not external
  18. b: true, // b is external (require("b"))
  19. "./c": "c", // "./c" is external (require("c"))
  20. "./d": "var d" // "./d" is external (d)
  21. },
  22. // Every non-relative module is external
  23. // abc -> require("abc")
  24. /^[a-z\-0-9]+$/,
  25. function(context, request, callback) {
  26. // Every module prefixed with "global-" becomes external
  27. // "global-abc" -> abc
  28. if (/^global-/.test(request))
  29. return callback(null, "var " + request.substr(7));
  30. callback();
  31. },
  32. "./e" // "./e" is external (require("./e"))
  33. ],
  34.  
  35. plugins: [
  36. //
  37. /*ProvidePlugin -
  38. чтобы не писать такой длинный путь для подключения модуля используется этот плагин
  39. const pluck = require('lodash/collection/pluck');
  40. console.log( pluck(users, 'name') );
  41.  
  42. Этот плагин анализирует код и если находит не объявленную переменную в данном случае pluck
  43. он дописывает (переписывает) lodash/collection/pluck
  44. НО ДЕЛАЕТ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
  45. */
  46. new webpack.ProvidePlugin({
  47. pluck: 'lodash/collection/pluck',
  48. _: 'lodash'
  49. })
  50. ],
  51.  
  52. module: {
  53. loaders: [{
  54. test: /old.js$/,
  55. loader: "script"
  56. }],
  57. //noParse - не анализировать этот файл (путь). ПРИМЕНЯТЬ только если уверены что в этом файле (пути) нет import-ов других модулей
  58. //нельзя писать node-module т.к. вырежет даже бабел
  59. noParse: /angular\/angular.js/,
  60. },
  61. noParse: /\/node_module\/(angular\/angular|jquery|\/...)/, //как вариант. Но использовать осторожно
  62.  
  63. //лоадеры для экспорта и импорта переменных из старых скриптов (export). Еще смотреть expose и script лоадер
  64. loaders: [{
  65. test: /old.js$/,
  66. loader: "imports?workSettings=>{delay:500}!exports?Work"
  67. },
  68.  
  69. resolve: {
  70. root: __dirname + '/vendor',
  71. alias: {
  72. old: 'old/dist/old'
  73. }
  74. }
  75. ]
  76.  
  77. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement