Laravel & Webpack plugins

241
10 октября 2019, 16:20

Хочу использовать плагин webpack в laravel для обфускации JS (https://github.com/javascript-obfuscator/webpack-obfuscator), но не могу настроить сам webpack.

Из документации laravel ясно, что можно использовать метод mix.webpackConfig({ ... }) в webpack.mix.js.

Мой пример: // webpack.mix.js

const mix = require('laravel-mix');
const JavaScriptObfuscator = require('webpack-obfuscator');
mix.webpackConfig({
    entry: {
        'abc': '/public/js/main.js'
    },
    output: {
        path: '/public/js/',
        filename: '[name].js' // output: main.js
    },
    plugins: [
        new JavaScriptObfuscator ({
            rotateUnicodeArray: true
        }, ['abc.js']),
    ],
});

При запуске npm run watch выдаёт ошибку, ERROR in Entry module not found: Error: Can't resolve 'main.js'

Воспользовался данным примером и webpack обфусцирует только app.js (resources/js/app.js):

mix.webpackConfig({
    plugins: [
        new JavaScriptObfuscator ({
            rotateUnicodeArray: true
        }, ['excluded_bundle_name.js']),
    ],
});

Как мне обфусцировать js файлы которые требуются?

Answer 1

mix - это отдельная надстройка над webpack, которая перезаписывает entry и output, на значения указанные в:

mix.setPublicPath('path/to/public');
mix.setResourceRoot('prefix/for/resource/locators');
mix.js(src, output);
mix.react(src, output); 

В вашем случае, скорее всего, лучше сделать отдельный конфиг для вебпака и настроить отдельную команду в package.json

  "scripts": {
    ...
    "obfuscate": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js  --config=путь/к/вашему/конфигу.js"
    ...
  },

и отдельно запускать npm run obfuscate

READ ALSO
Как реализован вход в instagram?

Как реализован вход в instagram?

Заметил интересную вещь при авторизации в instagram, если один раз зашел в инстаграм через веб страницуТо на всех устройствах тебе предлагает...

149
Парсинг цветов Linux консоли в JavaScript

Парсинг цветов Linux консоли в JavaScript

По сети мне прилетают логи с запущенного нативного приложения под линуксЛоги прилетают с цветом, т

176
Свой адрес для модального окна [закрыт]

Свой адрес для модального окна [закрыт]

На сайте модалки с прописанными идентификаторамиТребуется сделать им свои "адреса"

177
angular get запрос не отправляет запрос на сервер, а пытается открыть страницу, почему?

angular get запрос не отправляет запрос на сервер, а пытается открыть страницу, почему?

Эта конструкция должна по логике отправлять запрос на сервер, в компоненте вызываю этот метод:

220