与laravel混淆代码

Lor*_*rti 1 uglifyjs vue.js laravel-mix

我有一个带有laravel和vuejs的Web应用程序。我使用laravel-mix并且在我webpack.mix.js有:

const { mix } = require('laravel-mix');
mix.sourceMaps();
mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');
Run Code Online (Sandbox Code Playgroud)

现在我会混淆代码,所以我所有的组件,如何使用laravel-mix来做到这一点?

Bri*_*laz 6

npm run dev不会丑化/缩小您的代码,但是会npm run production

如果您想使用uglify ...

laravel mix只是webpack的包装。因此,您可以在此处https://webpack.js.org/plugins/uglifyjs-webpack-plugin/安装UglifyWepackPlugin

然后,您可以编辑mix.webpackConfig以使用该插件,如下所示:https ://laravel.com/docs/5.5/mix#custom-webpack-configuration


小智 5

安装https://github.com/javascript-obfuscator/javascript-obfuscatorhttps://github.com/javascript-obfuscator/webpack-obfuscator。之后你需要在 webpack 配置中包含 de plugin,你可以在 webpack.mix.js 文件中添加下一个代码。

let mix = require('laravel-mix');
let JavaScriptObfuscator = require('webpack-obfuscator');

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

mix.js('resources/assets/js/app.js', 'public/js');
Run Code Online (Sandbox Code Playgroud)

之后,您的所有 js 文件都将被混淆。